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

标签 python pandas dataframe rows swap

我正在尝试交换 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/

相关文章:

python - Beatbox:从 ​​SFDC 提取数据时如何添加 WHERE 子句?

python - 查找列中的唯一值,然后对它们进行排序

r - 在前几行中创建包含源/版权信息的 .csv 或 .txt 文件,以便从 Shiny 的导出

r - 将多个列表转换为r中的一个数据帧

python - 构建 Lupa 时出错(可能是 pkg-config 的问题)

python - 为什么我不能接受客户?

python - Pandas 滚动应用自定义

python - 减去两个索引不重叠的 DataFrame

python - Scrapy:如何设置 HTTP 代理以连接到 HTTPS 网站(HTTP 有效)?

python - WTForms/ flask : Dynamic min_entries