【问题标题】:Fill null values with values from a column in another dataset用另一个数据集中的列中的值填充空值
【发布时间】:2018-12-07 19:37:00
【问题描述】:

我有 2 个这样的数据集:

df1.head(5)
 category cost
0   1   33.0
1   1   33.0
2   2   18.0
3   1   NaN
4   3   8.0
5   2   NaN

df2.head(2)
 cost
3 33.0
5 55.0

df2 包含一列,其值位于相同索引上,其中 df1 为空

我想得到这个结果:

df1.head(5)
 category cost
0   1   33.0
1   1   33.0
2   2   18.0
3   1   33.0
4   3   8.0
5   2   55.0

所以用 df2 中相同索引上的值填充 df1 中的成本列

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    fillna

    Pandas 自然地按索引分配:

    df1['cost'] = df1['cost'].fillna(df2['cost'])
    
    print(df1)
    
       category  cost
    0         1  33.0
    1         1  33.0
    2         2  18.0
    3         1  33.0
    4         3   8.0
    5         2  55.0
    

    【讨论】:

    • 谢谢,我正在尝试与 df1['cost'].loc[df1['cost'].isnull()] 类似的方法,但没有成功
    • @adamlowlife,是的,我认为利用fillna 是最干净的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多