在pandas datafram中分离行值

2024-10-17 16:19:06 发布

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

我有这种pandas数据帧输出,列在最上面一行:

Gender,Name
Male, Matt 57
Male, Jack 42
Male, David 31
Male, John 28
Male, Tim 51

我的目标是获得这种产出:

^{pr2}$

如何将age值从“Name”列更改为名为“age”的新列?在


Tags: 数据name目标pandasagemattjohngender
2条回答
df.drop('Name', 1).join(
    df.Name.str.split().apply(pd.Series, index=['Name', 'Age']))

  Gender   Name Age
0   Male   Matt  57
1   Male   Jack  42
2   Male  David  31
3   Male   John  28
4   Male    Tim  51

这也给你带来了同样的结果

^{pr2}$

或者朝着奇怪的方向迈出了一步

^{3}$

天真时间测试

enter image description here

split_values = df['Name'].str.split(' ', expand=True)
df['Name'] = split_values.iloc[:, 0]
df['Age'] = split_values.iloc[:, 1]
print(df)

  Gender   Name Age
0   Male   Matt  57
1   Male   Jack  42
2   Male  David  31
3   Male   John  28
4   Male    Tim  51

甚至干衣机:

^{pr2}$

相关问题 更多 >