猿问

Pandas 将值从切片列复制到切片列

我的数据框df如下:


idx    colA    colB    colC    colD

-----------------------------------

A1     foo1    bar1      

A2                     foo2    bar2

我想将A2from的数据复制/移动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                

什么地方出了错?


慕哥9229398
浏览 74回答 1
1回答

跃然一笑

如果两个选择中的列数相同,则将第二个 Series 转换为 numpy 数组:df.loc['A2','colA':'colB'] = df.loc['A2','colC':'colD'].to_numpy()
随时随地看视频慕课网APP

相关分类

Python
我要回答