[英]Count Non 0 Values in all Rows for Specified Range of Columns - Python Pandas
What is the best approach for counting non-0 values in all rows for a specified range of columns?为指定范围的列计算所有行中的非 0 值的最佳方法是什么? My failed attempt below:我在下面的失败尝试:
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
Try:尝试:
data['activeYears'] = (data[countRange] > 0).sum(axis=1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.