python - 如何通过每行的非 nan 值计数提取此数据框中的所有非 nan 值
问题描述
我想提取每行数据帧中的非 nan 值。
我得到一个数据框,其行数超过 3000,如下所示:
# this is just an example, not whole data
l1 l2 l3
0 2 nan nan
1 1 nan nan
2 3 4 nan
3 1 2 4
4 3 2 nan
5 4 1 2
6 5 nan nan
我想通过每行的非 nan 值计数来提取此数据框中的所有非 nan 值,如下所示
one_non_nan_value_counts
l1
0 2
1 1
2 5
two_non_nan_value_counts
l1 l2
0 3 4
1 3 2
three_non_nan_value_counts
l1 l2 l3
0 1 2 4
1 4 1 2
有什么可以帮助我的吗?
提前致谢。
解决方案
国际大学联盟:
for x,y in df.groupby(df.isna().sum(axis=1)):
print('nan', x)
print(y.dropna(axis=1))
输出:
nan 0
l1 l2 l3
3 1 2.0 4.0
5 4 1.0 2.0
nan 1
l1 l2
2 3 4.0
4 3 2.0
nan 2
l1
0 2
1 1
6 5
推荐阅读
- java - 使用 AES 进行文件加密解密
- maven - 如果无法检查新版本,则使 maven 版本插件失败
- python - docker image 中的 pip freeze 与本地安装的结果不一样
- javascript - 如何在数组javascript中制作“SELECT LIKE”
- python - 使用键盘模块检测 *some key* 和 *+* 的按下
- wix - 覆盖 WiX 中的 pre-msi 文件
- reactjs - 使用带有 react-testing-library 的到达路由器时,单元测试不使用带参数的 url 路径
- python - 将地理区域划分为相等大小的网格并返回每个单元格的左上角和右下角
- java - Corda LinearState:尝试将消费状态从一个所有者转移到另一个所有者
- android - 在运行时下载 MLKit 人脸检测模型