首页 > 解决方案 > 将数据框折叠到 NaN 值上

问题描述

我有一个 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,并将它们排列在有效数据之上,但没有运气。任何帮助深表感谢。

先感谢您。

标签: pythonpandasdataframe

解决方案


这是你需要的吗?

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

推荐阅读