python - 根据行中的平均元素数删除列
问题描述
有点奇怪的问题。给定一个示例数据框:
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
的 ' 从第 3 列开始,所以我不想放弃它们。我想做一些近似或平均。我想检查之前行的平均长度NaN
并删除其余行。
例子:
- 第一行有 10 分
- 第 2 行有 4 分
- 第三行有6分
因此平均值为 7。所以我的数据将是:
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
或许您可以建议其他数据准备方法
解决方案
如果 NaN 总是在行中最后(例如,您不会将第一列作为 NaN,第二列作为值,然后是 NaN 等),您可以执行以下操作:
df.iloc[:, :int(df.count(axis=1).mean())]
这会给你:
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
推荐阅读
- lisp - 改变lisp中数字的表示?
- javascript - 根据其他数组键值获取数组值总和
- vue.js - 从 Highchart 事件内部更改 VueJS 组件数据值
- arrays - 无法使用地图功能 react-native
- c# - asp.net core 中的 TryValidateModel 在执行单元测试时抛出空引用异常
- docker - 在 Apache Aurora 中强制拉取 docker 镜像
- r - R中的网络抓取,一个与电子邮件相关的奇怪跨度类
- x86 - VEX 前缀编码和 SSE/AVX MOVUP(D/S) 指令
- javascript - 将数组字符串的声明拆分为字符串数组
- .htaccess - 指向专用 IP 的通配符域(不是子域) - /home/user/public_html/landing/