使用Pandas复制非na行以填充非na列

我有一个如下所示的数据框

df = pd.DataFrame({'person_id': [101,101,101,101],
                   'sourcename':['test1','test2','test3','test4'],
                            'Test':[np.nan,np.nan,'B5','B6']})

我希望做的就是复制non-na从行Test列,并将其粘贴到相应的下排sourcename

当我尝试以下时,它使sourcename列的其他行成为NA

df['sourcename'] = df.loc[df['Test'].notna()]['Test']

我希望我的输出如下所示

回答

Series.update

我们可以updatesourcename列中的non NaN值与Test列中的值

df['sourcename'].update(df['Test'])

>>> df

   person_id sourcename Test
0        101      test1  NaN
1        101      test2  NaN
2        101         B5   B5
3        101         B6   B6


以上是使用Pandas复制非na行以填充非na列的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>