python - Python中选定列的条件计数
问题描述
我是 Python 新手,想在数据框中创建一个新列,计算所有列中的所有活动值:
ID 2000 2001 2002 2003 ... 2019 new_column
1 active active nan active ... nan 3
2 active nan nan active ... nan 2
由于我有很多列,所以我不想指定每个列名。有没有一种快速的方法来计算这个数字?
非常感谢!
解决方案
这应该这样做:
df1 = pd.DataFrame({1:[np.nan,'active','b'],2:['active','active','active'],3:[np.nan,np.nan,'active']})
带来这个:
1 2 3
0 NaN active NaN
1 active active NaN
2 b active active
然后你用一个条件逐行求和:
np.sum(df1=='active', axis=1) #axis=1 tells it to do rowwise operation instead of columnwise.
输出:
0 1
1 2
2 2
推荐阅读
- mysql - Mysql:加载数据插入0而不是null
- javascript - Angular/Typescript:当独立元素发生变化时,typescript 中的数组会发生变化
- css - Reactstrap 文档
- publish - 在 Solace 主题上发布 JMS 消息
- react-native - React Native 中的自定义标签栏
- apache - 如何使用 Apache Lucenes Indexer 搜索来搜索日语单词?
- css - 如何创建如图所示的响应式网格设计?
- jira - 一个项目 JIRA Ticket 中的更改如何反映另一个项目中的链接工单
- sql - 在红移中将日期转换为 DD-MMM-YY
- user-interface - Octave GUI 开发