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_$ $
答案 0 :(得分:2)
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_$ $
答案 1 :(得分:1)
如果只想要最后一个字符,则可以使用:
df['Currency'] = df.Salary.str[-1]
答案 2 :(得分: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_$ $