如果 Nan,熊猫将列值移动到同一列中的第一行

我如何从这里开始df,


     c0   c1   c2   c3 

0  5.99  NaN  NaN  NaN  

1   NaN   12  NaN  NaN                

2   NaN  NaN   44  NaN               

3   NaN  NaN  NaN   49

对此df,


     c0   c1   c2   c3 

0  5.99   12   44   49  

那是,


将所有非 NaN 值移动到第一行

保留原始列中的所有值

每列只有 1 个非 NaN 值。


慕桂英546537
浏览 133回答 1
1回答

弑天下

使用bfill与axis=0和downcast='infer'+ dropna:df = df.bfill(axis=0, downcast='infer').dropna()print(df)     c0  c1  c2  c30  5.99  12  44  49没有downcast='infer'你得到所有浮点数据类型:print(df.bfill(0).dropna())     c0    c1    c2    c30  5.99  12.0  44.0  49.0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python