将数据框折叠为NaN值

时间:2018-10-02 02:17:26

标签: python pandas dataframe

我有一个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替换为零值,并将它们排列在有效数据之上,但没有运气。非常感谢您的帮助。

谢谢。

1 个答案:

答案 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