python - 计算多列并在行中转置列 - PYTHON
问题描述
我有一个这样的数据框
A B C
Not info XX Not info
XX YY Not info
YY ZZ Not info
我想在所有列中计算“非信息”,但我也希望它是行格式的。对于上面的数据框,这是我想要的输出
Column_name Count_not_info
A 1
B 0
C 3
ps:应该和我们做dataframe.isna().sum().reset_index()得到的差不多
有人知道如何在python中做到这一点吗?非常感谢!
解决方案
您可以通过isin()
方法和布尔掩码来做到这一点:
result=df[df.isin(['Not info'])].count().reset_index()
最后:
result.columns=['Column_name','Count_not_info']
现在,如果您打印result
,您将获得所需的输出:
Column_name Count_not_info
0 A 1
1 B 0
2 C 3
推荐阅读
- javascript - 将用户输入存储在数组中并显示在屏幕上
- cassandra - 对 cassandra 中的不同节点使用不同的硬件规格会导致问题吗?
- python - 读取 csv 并遍历 10 个行块
- maven - gitlab ci/cd 触发两个或多个下游管道
- kubernetes - 印花布 IP 混乱
- angular - Typescript / Angular中具有0个元素的函数返回映射
- python - 为什么我的代码在控制台中运行时运行良好,但在脚本中使用时运行良好?
- machine-learning - 为什么我的机器学习算法会卡住?
- javascript - 可以使用具有真假键或逻辑运算符的对象而不是单个 if else 来降低圈复杂度吗?
- python - BeautifulSoup 中的 find_all() 方法返回空列表