首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将熊猫的所有NaN值向左移动

将熊猫的所有NaN值向左移动
EN

Stack Overflow用户
提问于 2022-04-24 22:24:10
回答 1查看 334关注 0票数 0

我有一个(250,33866)数据。正如您在图片中所看到的,所有NaN值都位于每一行的末尾。我想将这些NaN值转换为数据的左边。同时,我希望保留0列(它引用Id)在它的位置(保留第一个)。

我试图定义一个遍历所有行和列的函数来实现这一点,但我认为对于大型数据来说,这样做效率很低。还有其他选择吗?谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2022-04-24 23:10:03

您可以反转df的列,删除NaNs;构建一个DataFrame并将其反转回来:

代码语言:javascript
复制
out = pd.DataFrame(df.iloc[:,::-1].apply(lambda x: x.dropna().tolist(), axis=1).tolist(), 
                   columns=df.columns[::-1]).iloc[:,::-1]

例如,对于如下所示的DataFrame:

代码语言:javascript
复制
   col0  col1  col2  col3  col4
1   1.0   2.0   3.0  10.0  20.0
2   1.0   2.0   3.0   NaN   NaN
3   1.0   2.0   NaN   NaN   NaN

上述代码产生:

代码语言:javascript
复制
   col0  col1  col2  col3  col4
0   1.0   2.0   3.0  10.0  20.0
1   NaN   NaN   1.0   2.0   3.0
2   NaN   NaN   NaN   1.0   2.0
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71992830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档