【发布时间】:2019-11-05 15:27:23
【问题描述】:
我有一个如下的数据框
df = pd.DataFrame([[3,2,1],[4,5,6],[10,20,30]], columns = ['A','B','C'])
A B C
0 3 2 1
1 4 5 6
2 10 20 30
python中有没有什么方法可以模仿excel中的复制和粘贴功能?例如我想复制粘贴第0行A列和B列并将它们粘贴到第0行B列和C列中,这样它就会变成
A B C
0 3 3 2
1 4 5 6
2 10 20 30
在一个小的数据框中,我可以使用:
df.loc[0,'C'] = df.loc[0,'B']
df.loc[0,'B'] = df.loc[0,'A']
但我的原始数据框相当大,我不想一个一个元素地做这个。 我也想这样做:
df.loc[0,['A','B']] = df.loc[0,['B','C']]
但是我在第 0 行 A 列中的数据变成了 NaN。
那么有没有办法做类似的事情,比如在 python 中的 excel 中复制粘贴(只需阻止一系列数据,复制它们并将它们粘贴到另一个现有数据的顶部)?谢谢
【问题讨论】:
-
分配值时列名很重要,因此添加 .values 或 to_numpy() 以消除索引的影响
-
我这样做了,但就像我上面提到的:我有一个大数据集,所以我希望代码阻止某个范围的行并将其粘贴到另一个现有行范围的顶部。谢谢。
-
@anky_91 如果您发布答案,请告诉我,我会相应地编辑我的帖子。
标签: python pandas copy-paste