gpt4 book ai didi

python - Pandas - 如何交换列内容,保持标签序列完整?

转载 作者:行者123 更新时间:2023-11-30 21:53:29 25 4
gpt4 key购买 nike

我正在使用 pandas v0.25.3。我缺乏经验但正在学习。我有一个数据框,想交换两列的内容,使列标签和序列保持不变。

df = pd.DataFrame ({"A": [(1),(2),(3),(4)], 
'B': [(5),(6),(7),(8)],
'C': [(9),(10),(11),(12)]})

这会产生一个数据框,


A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12

我想交换列内容 B 和 C 以获得

    A   B   C
0 1 9 5
1 2 10 6
2 3 11 7
3 4 12 8

我尝试查看 pd.DataFrame.values,它将我发送到 numpy 数组和高级切片,但迷路了。最简单的方法是什么?

最佳答案

您可以分配 numpy 数组:

#pandas 0.24+
df[['B','C']] = df[['C','B']].to_numpy()
#oldier pandas versions
df[['B','C']] = df[['C','B']].values

或者使用DataFrame.assign :

df = df.assign(B = df.C, C = df.B)
<小时/>
print (df)
A B C
0 1 9 5
1 2 10 6
2 3 11 7
3 4 12 8

关于python - Pandas - 如何交换列内容,保持标签序列完整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59660577/

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