"이름"이라는 열이 있습니다. 문자열 유형입니다. 다음과 같이 보입니다.
이름 |
---|
속성1=발1a; 속성2=val2a; 속성3=val3a; 속성4=발4a |
속성1=val1b; 속성5=val5b; 속성3=val3b; 속성6=발6b |
이 열을 다음과 같이 해결하고 싶습니다.
속성1 | 속성2 | 속성3 | 속성4 | 속성5 | 속성6 |
---|---|---|---|---|---|
발1a | 발2a | 발3a | 발4a | 없는 | 없는 |
발1b | 없는 | val3b | 없는 | 발5b | 발6b |
누군가가 파이썬에서이 작업을 수행하는 방법을 찾도록 도와 줄 수 있습니까?
미리 감사드립니다!
각 문자열을 로 ;
분할하고 각 분할에 대해 분할 =
하여 dict로 변환한 다음 다음을 사용할 수 있습니다 pd.json_normalize
.
new_df = pd.json_normalize(df['name'].str.split(r';\s*').apply(lambda lst: dict(i.split('=') for i in lst)))
산출:
>>> new_df
attr1 attr2 attr3 attr4 attr5 attr6
0 val1a val2a val3a val4a NaN NaN
1 val1b NaN val3b NaN val5b val6b
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다