python-3.x - pandas - 显示列名 + 总和大于零的总和
问题描述
我读了我的数据框:
dataframe = pd.read_csv("testFile.txt", sep = "\t", index_col= 0)
我有一个这样的数据框:
cell 17472131 17472132 17472133 17472134 17472135 17472136
cell_0 1 0 1 0 1 0
cell_1 0 0 0 0 1 0
cell_2 0 1 1 1 0 0
cell_3 1 0 0 0 1 0
对于熊猫,我想获取所有列的总和大于 1 的列名和总和。所以我想:
17472131 2
17472133 2
17472135 3
我想出了如何得到每列的总和
dataframe.sum(axis=0)
但这也返回总和低于 2 的列。有没有办法只显示值高于 1 的列?
解决方案
一种非常简洁的方法是使用 lambda 函数loc
:
df.set_index('cell').sum().loc[lambda x: x>1]
输出:
17472131 2
17472133 2
17472135 3
dtype: int64
详细信息: df.sum 返回一个 pd.Series,我们可以使用它lambda x: x>1
来生成布尔系列,它loc
使用布尔索引来仅选择 pd.Series 的 True 部分。
推荐阅读
- php - PHP OOP 继承如何在类之间使用方法和属性
- .net - 使用 .net core 3.1.1 的 C# 封闭 XML 库 - 调试时有效,但编译时无效
- amazon-quicksight - 如何进行自定义 SQL 查询(或不在子表中)
- r - 在 for 循环中使用 mlogit 给我一个错误
- c++ - 如何解决?出了点问题...请帮我处理我的 for 循环
- android - 如何在房间中存储对象类型
- javascript - AG-Grid 列下拉面板自定义消息
- python - 如何使用线性全等生成器 (LCG) 方法生成 -1 和 1 之间的随机数?
- python - 如何将相同的字符串变量附加到循环中的字符串
- wpf - 在 .Net Core 3.1 中依赖注入 IOption<> 设置时,带有 Prism 和 DryIOC 的 WPF 失败