从其他数据框熊猫填充数据框中的列的NAN值

Shubham R

我在熊猫df有一张桌子

      main_id       p_id_y       score
1       1            123        0.617523
0       2            456        0.617523
0       3            789        NaN
0       4            987        NaN
1       5            654        NaN

我也有另一个数据框df2。具有列的

p_id   score
 123    1.3
 456    4.6
 789    0.4
 987    1.1
 654    3.2

我必须填写所有所有的分数p_id_y which is NaN与相应的分数p_iddf2

我的最终输出应该是。

      main_id       p_id_y       score
1       1            123        0.617523
0       2            456        0.617523
0       3            789        0.4
0       4            987        1.1
1       5            654        3.2

有什么想法要实现吗?我当时想用这个

df['score'] = df['score'].fillna(something)
耶斯列尔

我认为您可以使用combine_firstfillna,但首先set_index要对齐数据:

df1 = df1.set_index('p_id_y')
df1['score'] = df1['score'].combine_first(df2.set_index('p_id')['score'])
#df1['score'] = df1['score'].fillna(df2.set_index('p_id')['score'])

print (df1.reset_index())
   p_id_y  main_id     score
0     123        1  0.617523
1     456        2  0.617523
2     789        3  0.400000
3     987        4  1.100000
4     654        5  3.200000

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在熊猫中用空列表[]填充数据框Nan值?

熊猫从其他数据框中复制值

熊猫:从numpy数组填充数据框列的缺失值

根据数据框B中其他两个列给定的范围填充数据框A中的列

用列中的先前值填充数据框中的NaN值

根据同一熊猫数据框中其他列的值创建包含布尔值或NaN的新列

熊猫:如何使用其他数据框的列替换数据框中的值

数据框无法填充熊猫中的NaN值

填充其他拖车数据框中的值

用来自其他数据框的值填充列并在pandas中填充相应的ID

通过联接填充数据框Nan值

用选定的列表值填充数据框中的列

如何在Pandas数据框中的其他列中填充基于新列的值

根据其他数据框中的列值在熊猫数据框中创建列

大熊猫:根据一列中的相似值,使用多个数据框中的值填充数据框中的空列

根据匹配其他列与另一个数据框的值来填充数据框的缺失值,同时保持不匹配的值

根据将其他列与另一个数据框匹配的值来填充数据框的缺失值

根据其他数据框的列填充数据框列

根据数据框中的其他列更改熊猫数据框的列值

用其他数据框的值填充数据框的空单元格

用其他列中的计算替换熊猫数据框中的NaN值

根据其他列中描述的范围填充数据框列

合并熊猫数据框中的 2 列,用以前的值填充 NaN

填充数据框列Python中的缺失值

熊猫:填充数据框列中的缺失数据

根据其他行的条件填充数据框的行

按日期从其他数据框的累积数据填充数据框

如何根据对其他列的查找填充数据框列?

R - 基于另一列中的字符串用其他列的值填充数据框的列