gpt4 book ai didi

python - 仅将 1 列拆分为 2,但保留其他 pandas python

转载 作者:太空宇宙 更新时间:2023-11-04 08:42:14 25 4
gpt4 key购买 nike

我有一个示例数据:

import pandas as pd
d = {
'unit': ['001 peds', '002 peds1', '003 4U', '004 4U1', '005 MS'],
'N-D': ['Numerator', 'Denominator', 'Numerator', 'Denominator', 'Numerator'],
'value': [0, 1, 0, 1, 0],

}
df = pd.DataFrame(d)

看起来像这样:

    N-D       unit        value
Numerator 001 peds 0
Denominator 002 peds1 1
Numerator 003 4U 0
Denominator 004 4U1 1
Numerator 005 MS 0

我想用空格将“单位”列拆分为 2:“”我的代码:

df1 = df['unit'].str.split(" ", expand=True)

输出是:

  0      1
001 peds
002 peds1
003 4U
004 4U1
005 MS

但我的其他 2 列不见了,我不太清楚在数据框级别执行此操作的正确语法,因此它将保留其余列。

我想要的输出:

    N-D       0     1    value
Numerator 001 peds 0
Denominator 002 peds1 1
Numerator 003 4U 0
Denominator 004 4U1 1
Numerator 005 MS 0

最佳答案

i = df.columns.get_loc('unit')
df2 = df['unit'].str.split(" ", expand=True)
pd.concat([df.iloc[:, :i], df2, df.iloc[:, i+1:]], axis=1)

N-D 0 1 value
0 Numerator 001 peds 0
1 Denominator 002 peds1 1
2 Numerator 003 4U 0
3 Denominator 004 4U1 1
4 Numerator 005 MS 0

如果你想去掉0

df.assign(unit=df.unit.str.split(n=1).str[1])

N-D unit value
0 Numerator peds 0
1 Denominator peds1 1
2 Numerator 4U 0
3 Denominator 4U1 1
4 Numerator MS 0

您可以根据需要重命名列 'unit'

df.assign(unit=df.unit.str.split(n=1).str[1]).rename(columns=dict(unit='w/e'))

N-D w/e value
0 Numerator peds 0
1 Denominator peds1 1
2 Numerator 4U 0
3 Denominator 4U1 1
4 Numerator MS 0

关于python - 仅将 1 列拆分为 2,但保留其他 pandas python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43947528/

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