将下一个值移动到第一个空行panda



嗨,我如何将每个值从一列移动到第一个空的"行/单元";在熊猫身上?

示例:

Original data:
A   B   C
0   1  NaN  NaN
1   4    2  NaN
2   7    5  3
3 NaN  NaN  6
Desired result:
A   B   C
0   1   2   3
1   4   5   6
2   7 NaN  NaN

谢谢!

您可以使用sorted来对齐顶部的非NULL数据

df.apply(lambda x: sorted(x, key=pd.isnull)).dropna(how = 'all')
A   B   C
0   1.0 2.0 3.0
1   4.0 5.0 6.0
2   7.0 NaN NaN

最新更新