不使用 str.split() 将 Pandas 列拆分为多列

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_$   $


鸿蒙传说
浏览 311回答 3
3回答

芜湖不芜

使用 s.str.extractdf['Currency']=df.Salary.str.extract('(\W)')#or df['Currency']=df.Salary.str.split("_").str[1]\W --> 任何不是字母、数字或下划线字符的字符。print(df)   Test1  Test2 Salary Currency0      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(".*_", "")dfTest1   Test2   Salary  Currency0   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  Currency0   1   Akash   100_$   $1   2   Akash   200_@   @2   3   Yogi    300_%   %3   4   Akash   400_$   $
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python