将列拆分为多个列而不使用结构拆分()

2024-10-06 09:00:27 发布

您现在位置:Python中文网/ 问答频道 /正文

熊猫有没有办法把一列分成多列?我在dataframe中有一列,其中的内容如下:

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

Tags: 内容dataframecurrencysalarytest1test2办法yogi
3条回答

使用^{}

df['Currency']=df.Salary.str.extract('(\W)')
#or df['Currency']=df.Salary.str.split("_").str[1]

\W > Any character that is not a letter, numeric digit, or the underscore character.


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

相关问题 更多 >