다음과 같은 데이터 프레임이 있습니다.
Var_1
201601_abc
201603_tbc;201608_sdf;201508_dsf
201601_abc;201508_dsf
...
Var1에 고유 한 값을 포함하는 단일 열을 원합니다 ( ";"로 구분 된 값은 다른 것으로 간주 됨
따라서 최종 데이터 프레임은 다음과 같습니다.
Var_2
201601_abc
201603_tbc
201608_sdf
201508_dsf
IIUC 다음이 작동합니다.
In [160]:
df2 = pd.DataFrame(df['Var_1'].str.split(';',expand=True).stack().unique(), columns=['Var_2'])
df2
Out[160]:
Var_2
0 201601_abc
1 201603_tbc
2 201608_sdf
3 201508_dsf
이것은 구분 기호의 값을 분할 한 다음 stack
s를 반환하고 unique
값을 반환합니다. 그런 다음 반환 된 배열을 기반으로 새 df를 생성 할 수 있습니다.
위의 단계를 분할 :
In [161]:
df['Var_1'].str.split(';',expand=True)
Out[161]:
0 1 2
0 201601_abc None None
1 201603_tbc 201608_sdf 201508_dsf
2 201601_abc 201508_dsf None
In [162]:
df['Var_1'].str.split(';',expand=True).stack()
Out[162]:
0 0 201601_abc
1 0 201603_tbc
1 201608_sdf
2 201508_dsf
2 0 201601_abc
1 201508_dsf
dtype: object
In [163]:
df['Var_1'].str.split(';',expand=True).stack().unique()
Out[163]:
array(['201601_abc', '201603_tbc', '201608_sdf', '201508_dsf'], dtype=object)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다