python - 为指定的列范围计算所有行中的非 0 值 - Python Pandas
问题描述
为指定范围的列计算所有行中的非 0 值的最佳方法是什么?我在下面的失败尝试:
data = [[2015, 900, 2016, 850, 900, 850, 1000, 0, 0, -50, 50, -1000, 0],
[2016, 500, 2017, 550, 0, 500, 550, 350, 0, 500, 50, -200, -350],
[2017, 200, 2018, 300, 0, 0, 200, 300, 100, 0, 200, 100, -200],
[2018, 775, 2019, 1000, 0, 0, 0, 775, 1000, 0, 0, 775, 225],
[2019, 30, 2020, 0, 0, 0, 0, 0, 30, 0, 0, 0, 30]]
data = pd.DataFrame(data, columns = ['cohortYear', 'firstYearSales', 'firstFullYear', 'firstFullYearSales', '2015','2016','2017', '2018', '2019', '2016 Delta', '2017 Delta', '2018 Delta', '2019 Delta'])
countRange = data.columns[5:9]
data['activeYears'] = data[countRange].count(axis=1)
data
解决方案
尝试:
data['activeYears'] = (data[countRange] > 0).sum(axis=1)
推荐阅读
- css - ejs 不包括 css
- bash - 如何在 bash 中并行解压缩存档中的某些文件和 grep
- python-3.x - CNN-将图像划分为训练/验证/测试
- c# - DDD 和文件管理
- asp.net-mvc - 编写 Dockerfile 以在 Linux 容器中的 docker 上使用 Mono 实现 asp.net 框架 MVC 项目
- python-3.x - 将字典转换为列表,其中对任何重复键的值求和
- angular - 使用字符串在角度 4 中进行 2 路绑定
- reactjs - Access stores from class using mobX and react Context
- api - 安全建议接口
- rest - python flask-restplus swagger中数组数据的模型定义