python - Pandas :合并两个忽略 NaN 的数据框

标签 python pandas merging-data

假设我有以下两个DataFrames:

  X    Y    Z
1 0.0  0.0  0.0
2 1.0  2.0  3.0
3 4.0  2.0  0.0
4 NaN  NaN  NaN
5 NaN  NaN  NaN
6 NaN  NaN  NaN
7 NaN  NaN  NaN
8 NaN  NaN  NaN

  X.2  Y.2  Z.2
1 NaN  NaN  NaN
2 NaN  NaN  NaN
3 NaN  NaN  NaN
4 NaN  NaN  NaN
5 NaN  NaN  NaN
6 9.0  3.0  6.0
7 7.0  4.0  3.0
8 3.0  6.0  8.0

我想用第二个的值填充第一个 DataFrame 中缺失的数据。结果应如下所示:

  X    Y    Z
1 0.0  0.0  0.0
2 1.0  2.0  3.0
3 4.0  2.0  0.0
4 NaN  NaN  NaN
5 NaN  NaN  NaN
6 9.0  3.0  6.0
7 7.0  4.0  3.0
8 3.0  6.0  8.0

如果可能的话,我想避免创建一个新的 DataFrame,而是填充第一个 DataFrame

我该怎么做?

最佳答案

您可以简单地继续 update,它根据 df2 的值填充第一个数据帧 df1:

df2.columns = df1.columns

df1.update(df2)

In [118]: df1
Out[118]:
    X   Y   Z
1   0   0   0
2   1   2   3
3   4   2   0
4 NaN NaN NaN
5 NaN NaN NaN
6   9   3   6
7   7   4   3
8   3   6   8

关于python - Pandas :合并两个忽略 NaN 的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32868351/

相关文章:

javascript - 在不干扰排序顺序的情况下连接/合并两个数组的最佳方法是什么?

python - 散点图螺旋向外而不是堆栈的注释 - matplotlib

python - 无法在 Pandas 中选择一个单元格

json - 将json行数据分成多列 Pandas 数据框

pandas - XGBoost 预测在 AI Platform 上不起作用 : 'features names mismatch'

arrays - AS3 合并多个数组的最快方法

python - 如何在 Pandas df/series 上使用 .groupby() 后预览行

python - 在 Python 中,为什么 lambda 表达式可以引用正在定义的变量而不是列表?

python - 根据列表中的多个元素对列表进行排序

python - 用python合并iqy文件