我有一个pandas数据框,它计算索引中某些整数的值,而其他索引整数则显示NaN(故意行为)。
我想折叠数据框,以使其“落在” NaN上,将其替换为所有有效值。
下面是一个示例:
1 -0.037979 NaN -0.248677
2 NaN NaN -0.058432
3 0.007599 0.007599 0.036740
4 NaN NaN 0.322239
5 0.007595 NaN 0.036711
6 NaN NaN 0.036707
7 0.053155 0.053155 0.322011
所需结果:
1 -0.248677
2 -0.058432
3 0.036740
4 0.007595 0.322239
5 0.007595 0.007599 0.036711
6 0.007595 0.007599 0.036707
7 0.053155 0.053155 0.322011
我尝试将NaN替换为零值,并将它们排列在有效数据之上,但没有运气。非常感谢您的帮助。
谢谢。
答案 0 :(得分:1)
这是您需要的吗?
df.apply(lambda x : sorted(x,key=pd.notnull))
Out[111]:
1 2 3
1 NaN NaN -0.248677
2 NaN NaN -0.058432
3 NaN NaN 0.036740
4 -0.037979 NaN 0.322239
5 0.007599 NaN 0.036711
6 0.007595 0.007599 0.036707
7 0.053155 0.053155 0.322011