熊猫将值从切片列复制到切片列

时间:2020-10-01 06:01:57

标签: python pandas

我的DataFrame df如下:

idx    colA    colB    colC    colD
-----------------------------------
A1     foo1    bar1      
A2                     foo2    bar2

我想将A2的数据从colC:colD复制/移动到colA:colB

idx    colA    colB    colC    colD
-----------------------------------
A1     foo1    bar1      
A2     foo2    bar2                

我认为它很简单,尝试了df.loc['A2','colA':'colB'] = df.loc['A2','colC':'colD'],但没有用。

但是,我能够一一做到。例如,df.loc['A2','colA'] = df.loc['A2','colC']确实将colA更改为foo2。我还可以使用切片表达式colAcolBdf.loc['A2','colA':'colB'] = 'FB'分配新值

idx    colA    colB    colC    colD
-----------------------------------
A1     foo1    bar1      
A2     FB      FB                

出了什么问题?

1 个答案:

答案 0 :(得分:1)

如果两个选择中的列数相同,则将第二个Series转换为numpy数组:

df.loc['A2','colA':'colB'] = df.loc['A2','colC':'colD'].to_numpy()