首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据一行中元素的平均数量删除冒号

根据一行中元素的平均数量删除冒号
EN

Stack Overflow用户
提问于 2019-10-05 14:45:12
回答 1查看 62关注 0票数 0

有点奇怪的问题。给出一个样本数据:

代码语言:javascript
运行
复制
    df = 

   1    1.1     2   2.1     3   3.1     4   4.1     5   5.1

  11     22    33    44    55    66    77    88    99    12
  12     13    14    15   Nan   Nan   Nan   NaN   NaN   NaN
  11     22    33    44    55    66    77   NaN   NaN   NaN

我想删除包含NaN值的列。但有时我的NaN从第三列开始,所以我不想删除它们。我想做一些近似或平均。我想检查NaN之前的行的平均长度,然后删除其余的行。

示例:

  • 第1排有10分
  • 第2排有4分
  • 第3排有6分

因此,平均为7。因此,我的数据将是:

代码语言:javascript
运行
复制
    df = 

   1    1.1     2   2.1     3   3.1     4   

  11     22    33    44    55    66    77   
  12     13    14    15   Nan   Nan   Nan   
  11     22    33    44    55    66    77   

也许你不能建议其他的数据准备方法

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-05 14:54:54

如果NaN将始终是行中的最后一列(例如,您将没有第一列作为NaN,第二列为值,然后是NaN等),则可以执行以下操作:

代码语言:javascript
运行
复制
df.iloc[:, :int(df.count(axis=1).mean())]

这会给你:

代码语言:javascript
运行
复制
    0   1   2   3     4     5     6
0  11  22  33  44  55.0  66.0  77.0
1  12  13  14  15   NaN   NaN   NaN
2  11  22  33  44  55.0  66.0  77.0
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58249373

复制
相关文章

相似问题

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