Pandas有没有办法将列拆分成多列?我在数据框中有一列,其内容如下:
Test1 Test2 Salary
1 Akash 100_$
2 Akash 200_@
3 Yogi 300_%
4 Akash 400_$
我想把它分成:
Test1 Test2 Salary Currency
1 Akash 100_$ $
2 Akash 200_@ @
3 Yogi 300_% %
4 Akash 400_$ $
df['Currency']=df.Salary.str.extract('(\W)')
#or df['Currency']=df.Salary.str.split("_").str[1]
\ W - >任何不是字母,数字或下划线字符的字符。
print(df)
Test1 Test2 Salary Currency
0 1 Akash 100_$ $
1 2 Akash 200_@ @
2 3 Yogi 300_% %
3 4 Akash 400_$ $
如果你只想要最后一个角色,你可以使用:
df['Currency'] = df.Salary.str[-1]
不使用str.split
尝试以下。
df['Currency']=df.Salary.str.replace(".*_", "")
df
Test1 Test2 Salary Currency
0 1 Akash 100_$ $
1 2 Akash 200_@ @
2 3 Yogi 300_% %
3 4 Akash 400_$ $
或者(如果有人想使用str.split
:
你能不能在这里尝试使用str.split。
df['Currency']=df.Salary.str.split('_').str[1]
虽然打印df
输出将如下。
Test1 Test2 Salary Currency
0 1 Akash 100_$ $
1 2 Akash 200_@ @
2 3 Yogi 300_% %
3 4 Akash 400_$ $