gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 22:00:16 25 4
gpt4 key购买 nike

我有一个包含 i 行和 j 列的 Pandas DataFrame。我想将此 DataFrame 中的值替换为具有相同 i 行但具有 k 行的第二个 DataFrame 中的所有值> 列,其中 kj 的子集。

有效的方法是:

for col in df2.columns:
df1[col] = df2[col]

有没有更快、无循环的方法来做到这一点?

最佳答案

IIUC 你可以这样做

df1[df2.columns] = df2

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

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

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

df1[df2.columns] = df2.values

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

关于python - 将列向量化分配给列的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54344326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com