为了账号安全,请及时绑定邮箱和手机立即绑定

将列向量化分配给列的子集

将列向量化分配给列的子集

白衣非少年 2021-10-19 15:24:05
我有一个包含i行和j列的 Pandas DataFrame 。我想用具有相同i行但k列的第二个 DataFrame 中的所有值替换此 DataFrame 中的值,其中k是j的子集。有效的是这样的:for col in df2.columns:     df1[col] = df2[col]有没有更快,非循环的方法来做到这一点?
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

IIUC你可以做

df1[df2.columns] = df2

假设索引和列标签如您所述匹配

在这里,我们df1只传递感兴趣的列的子集,只要索引和列标签匹配,您就可以像这样直接分配。这里不需要迭代

如果索引标签不匹配但形状匹配,您可以分配 numpy 数组值:

df1[df2.columns] = df2.values

这会将值分配为原始值,此方法可能会更快,因为pandas不需要检查与索引标签或列标签的对齐情况,并且应该能够直接分配


查看完整回答
反对 回复 2021-10-19
  • 1 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号