合并数据框中 NaN 的相似记录字段
Merge up similar records fields where NaN in a dataframe
例如,我有一组这样的记录:
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 在我开始写之前是否有更好的方法来做到这一点。
尝试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
例如,我有一组这样的记录:
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 在我开始写之前是否有更好的方法来做到这一点。
尝试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