我有一个包含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
不需要检查与索引标签或列标签的对齐情况,并且应该能够直接分配
添加回答
举报
0/150
提交
取消