如何解决如何根据 Pandas 中的空值条件左移
这样的数据框df = pd.DataFrame({"A":[1,np.nan,5],"B":[np.nan,10,np.nan],"C":[2,3,np.nan]})
A B C
0 1 NaN 5
1 NaN 10 NaN
2 2 3 NaN
我想左移所有值以占据空值。期望输出:
A B C
0 1 5 NaN
1 10 NaN NaN
2 2 3 NaN
我尝试使用一系列 df['A'].fillna(df['B'].fillna(df['C'])
来执行此操作,但在我的实际数据中,有 100 多列。有没有更好的方法来做到这一点?
解决方法
让我们做
out = df.T.apply(lambda x : sorted(x,key=pd.isnull)).T
Out[41]:
A B C
0 1.0 5.0 NaN
1 10.0 NaN NaN
2 2.0 3.0 NaN
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。