【发布时间】:2019-08-26 12:14:08
【问题描述】:
我有一个包含 NaN 的行的 df。我想用该行最相似行的相应变量值来估算那些。我创建了我的 df 的一个子集,其中包含所有具有 NaN 的行,并创建了一个列表,其中包含与子集中的行最相似的行的索引。 我现在有了缺失值的行的 ID 以及与该行最相似的行的 ID。
假设这是我的 df:
ID A B C
01 10 20 40.0
02 12 19 43.0
03 10 NaN NaN
我想要的是用其他行的值替换 NaN。 预期结果:
ID A B C
01 10 20 40.0
02 12 19 43.0
03 10 20 40.0
这似乎不起作用:
df.loc[df['ID'] == 03]['B'] = df.loc[df['ID'] == 01]['B']
理想情况下,我会用另一行的值填充一行中的所有 NaN。
【问题讨论】:
-
您可以计算欧几里得距离矩阵,查找与特定行中可用列最相似的行,并使用它们来填充缺失值
-
我已经这样做了,但找不到合适的方法来替换它们。我正在寻找类似@MarkWang 的帖子。
标签: python pandas dataframe indexing imputation