使用具有相同第 1 列值的不同行的值填充 NaN

问题描述 投票:0回答:1

我有这个df original dataframe

我想按类别合并行,以便从具有相同类别的其他行填充相应的 NaN。

我需要这个: required dataframe

我尝试使用 fillna() 但是我没有看到任何按类别行填充的选项。

pandas merge grouping fillna
1个回答
0
投票

这是使用两个具有简短语法的 groupby 方法的一种方法:

df.groupby(level=0).bfill().groupby(level=0).first()

输出:

     a    b    c   d    e
A  2.0  4.0  3.0 NaN  NaN
B  NaN  NaN  4.0 NaN  7.0

给定 df 为:

df = pd.DataFrame({'a':[2]+[np.nan]*4
                  ,'b':[np.nan]+[4]+[np.nan]*3
                  ,'c':[np.nan]*2+[3,4]+[np.nan]
                  ,'d':[np.nan]*5
                  ,'e':[np.nan]*4+[7]}, index=[*'AAABB'])
© www.soinside.com 2019 - 2024. All rights reserved.