gpt4 book ai didi

python - 将一列拆分为两列,留下空白

转载 作者:行者123 更新时间:2023-12-04 15:14:33 26 4
gpt4 key购买 nike

我在 pandas 中有一个格式如下的数据框。

(df)
School ID Column 1
School 1 AD6000
School 2 3000TO4000
School 3 5000TO6000
School 4 AC2000
School 5 BB3300
School 6 9000TO9900
....

我想要做的就是将第 1 列中以单词“TO”作为分隔符的行拆分为两个新列,同时保留原始列。结果会是这样。

(df)
School ID Column 1 Column 2 Column 3
School 1 AD6000 NaN NaN
School 2 3000TO4000 3000 4000
School 3 5000TO6000 5000 6000
School 4 AC2000 NaN NaN
School 5 BB3300 NaN NaN
School 6 9000TO9900 9000 9900
....

这是我认为可行的代码,但事实证明它在第 2 列和第 3 列中留下了空白,而不是将 TO 左右的数字拆分到各自的列中。

df[['Column 2','Column 3']] = df['Column 1'].str.extract(r'(\d+)TO(\d+)')

感谢您的帮助。

最佳答案

那是因为右侧是一个具有不同列名称(01)的数据框,而 Pandas 找不到 Column 2或该数据框中的 Column 3

您可以传递底层的 numpy 数组而不是数据框:

df[['Column 2','Column 3']] = df['Column 1'].str.extract(r'(\d+)TO(\d+)').values

输出:

  School ID    Column 1 Column 2 Column 3
0 School 1 AD6000 NaN NaN
1 School 2 3000TO4000 3000 4000
2 School 3 5000TO6000 5000 6000
3 School 4 AC2000 NaN NaN
4 School 5 BB3300 NaN NaN
5 School 6 9000TO9900 9000 9900

关于python - 将一列拆分为两列,留下空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64561980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com