Python Pandas DF通过索引用其他DF的值替换NaN

卡塔琳娜(Katharina)

我有两个数据框,其中的索引可以设置为['Date','Name']。现在,我想用在第二个数据框中可以找到的数据(所有列中也可以有NaN值)替换所有通用列的第一个数据框中的NaN。他们看起来像这样:

NaN = np.nan
df1 = pd.DataFrame([
    ['2020-01-01', 'Foo1', 8, 0.999],
    ['2020-01-01', 'Bar1', NaN, NaN],
    ['2020-01-02', 'Foo1', 1, 0.564],
    ['2020-01-03', 'Foo1', NaN, NaN]],
    columns=['Date', 'Name', 'Val1', 'Val2'])

df2 = pd.DataFrame([
    ['2020-01-01', 'Foo1', 8, 0.999],
    ['2020-01-01', 'Bar1', 5, 0.6],
    ['2020-01-02', 'Foo1', 1, 0.564],
    ['2020-01-03', 'Foo1', NaN, NaN]],
    columns=['Date', 'Name', 'Val1', 'Val2'])

我尝试使用where和replace语句来完成此操作,但不幸的是,到目前为止,我无法弄清楚它或找到任何有用的方法。在此先多谢!

贝尼

尝试使用combine_firstfillna

df1 = df1.set_index(['Date','Name']).combine_first(df2.set_index(['Date','Name'])).reset_index()
df1
         Date  Name  Val1   Val2
0  2020-01-01  Foo1   8.0  0.999
1  2020-01-01  Bar1   5.0  0.600
2  2020-01-02  Foo1   1.0  0.564
3  2020-01-03  Foo1   NaN    NaN

df1 = df1.set_index(['Date','Name']).fillna(df2.set_index(['Date','Name'])).reset_index()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

同时替换pandas df中的多个值

python pandas,DF.groupby()。agg(),agg()中的列引用

Python Pandas:根据位置而非索引值替换值

Python Pandas DataFrame用其他系列填充NaN

如何根据其他列中的数据替换python pandas中的某些值?

Python + Pandas将其他列中的列值替换为

Python Pandas Dataframe:索引长度不匹配-df ['column'] = ndarray

从DF列将值插入字典-Pandas(Python)

Python Pandas Dataframe用列表中的值替换NaN

Pandas / Python为列值过滤DF

按日期和其他列值过滤Pandas df

Python Pandas:将列表添加到其他len的df中

Python Pandas-df.loc-添加其他条件不起作用

Python Pandas-使用dict替换NaN值

如何在python中使用pandas dataframe获取引用其他特殊索引的新max列表?

Python Pandas用元组中的NAN替换值

取决于DF2列值的Python Pandas更新

Pandas DataFrame)一列替换其他df

Python Pandas通过其他列中的条件替换更改的单元格值

如何以Python方式返回具有唯一列Pandas DataFrame的非nan值的df

pandas python 替换列值

Python Pandas 通过键组合 2 df

Python - Pandas - 根据其他列的值替换列中的字符串

替换 df col-pandas 中的值

Python Pandas:检查列表中的项目是否在 df 索引中,其中 df 是多索引 df

Python(Pandas):根据有关数据帧中其他观测值的信息替换特定的 NaN 值

如何根据 Python Pandas 中其他行中的值在 Pandas Data Frame 中添加新索引行?

Python Pandas - 填写 df NaN 值

python pandas 从 df 绘图