首页 > 解决方案 > 合并数据框中 NaN 的类似记录字段

问题描述

例如,我有一组这样的记录:

   A    B    C    D
0  1    0    Nan  Nan
1  1    1    1    Nan
2  1    2    2    2
3  2    Nan  3    3
4  2    4    4    4
5  3    5    Nan  Nan

并且我想合并 A 列上的所有记录,以便以后的记录只会替换以前的记录(如果Nan存在)。所以我最终是这样的:

   A    B    C    D
0  1    0    1    2
1  2    4    3    3
2  3    5    Nan  Nan

所以我已经可以使用groupby(),iterrows()并且多次通过,直到什么都没有,但感觉非常低效。

在我开始写之前,我很好奇 Pandas 是否有更好的方法来做到这一点。

标签: pandaspython-3.8

解决方案


尝试first

#df = df.replace({'Nan':np.nan})

df = df.groupby('A', as_index=False).first()
df
Out[20]: 
   A    B    C    D
0  1  0.0  1.0  2.0
1  2  4.0  3.0  3.0
2  3  5.0  NaN  NaN

推荐阅读