Pandas dataframe.update带有密钥索引,col索引要更新

时间:2015-02-19 01:40:40

标签: python pandas dataframe

我有df1,这是我使用的滚动数据集,每天更新。

我有df2,其中包含id_col和signal_col。我想根据常见的id_col值更新df1中的signal_cols。

在sql中,它将类似于:

INSERT OVERWRITE TABLE my_table
SELECT
    COALESCE(my_table_update.signal_col, my_table.signal_col) AS signal_col,
    my_table.*
FROM my_table
LEFT OUTER JOIN my_table_update
ON my_table.id_col = my_table_update.id_col

pandas.dataframe.update会覆盖整个数据帧 pandas.dataframe.combine_first只添加来自df2的空值。

我是否必须遍历每一行,并手动更新列值?

1 个答案:

答案 0 :(得分:0)

更新仅从右向左覆盖非na值。首先组合相反,它从右边开始填充na值。因此,更新不会覆盖整个帧只是非na值