gpt4 book ai didi

python - 在同一 Pandas 数据框中交换行

转载 作者:太空狗 更新时间:2023-10-29 22:24:38 24 4
gpt4 key购买 nike

我正在尝试交换 pandas 中同一 DataFrame 中的行。

我试过运行

a = pd.DataFrame(data = [[1,2],[3,4]], index=range(2), columns = ['A', 'B'])
b, c = a.iloc[0], a.iloc[1]
a.iloc[0], a.iloc[1] = c, b

但我最后两行都显示了第二行 (3,4) 的值。

甚至变量 b 和 c 现在都分配给了 3 和 4,尽管我没有再次分配它们。我做错了什么吗?

最佳答案

使用临时变量来存储使用 .copy() 的值,因为您在链上分配值时更改值,即除非您使用复制,否则数据将被直接更改。

a = pd.DataFrame(data = [[1,2],[3,4]], index=range(2), columns = ['A', 'B'])
b, c = a.iloc[0], a.iloc[1]


temp = a.iloc[0].copy()
a.iloc[0] = c
a.iloc[1] = temp

或者你也可以直接使用copy like

a = pd.DataFrame(data = [[1,2],[3,4]], index=range(2), columns = ['A', 'B'])
b, c = a.iloc[0].copy(), a.iloc[1].copy()
a.iloc[0],a.iloc[1] = c,b

关于python - 在同一 Pandas 数据框中交换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46890972/

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