Подсчитать значения, отличные от 0, во всех строках для указанного диапазона столбцов - Python Pandas - PullRequest
2 голосов
/ 09 июля 2020

Каков наилучший подход для подсчета ненулевых значений во всех строках для указанного диапазона столбцов? Моя неудачная попытка ниже:

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

1 Ответ

2 голосов
/ 09 июля 2020

Попробуйте:

data['activeYears'] = (data[countRange] > 0).sum(axis=1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...