У меня есть Excel SUMIFS, которые нужно перевести в пандах, но, похоже, я их упускаю.
Excel
SUMIFS(C:C,$A:$A,$L2,$B:$B,$W$1)=0
Панды
df[df['year'] == 2017 & df['company_id'].isin(df['company_id_2'])].sum(axis=0, skipna=True)['share_price']
таблица
A B C ... L ... W
company_id year share_price company_id_2 2017
48299 2017 42.395 48299
48299 2016 30.82 48752
48299 2015 31.79 48865
48865 2017 24.535 49226
48865 2016 23.175 49503
48865 2015 15.7 49554
48752 2017 12.98 49697
48752 2016 15.775 50267
48752 2015 10.09 50714
похоже, что есть проблемы со вторым условием df['company_id'].isin(df['company_id_2'])
. Когда я только df[df['year'] == 2017].sum(axis=0, skipna=True)['share_price']
, я получаю сумму , но второе условие дает 0.0, что неверно.
Буду очень признателен за любую помощь в построении второго условия.
Редактировать
Использование каждого условия в отдельности дает правильную сумму, но их объединение - нет. По крайней мере, первая строка должна дать сумму df['share_price'] = 42.395
, так как это удовлетворяет условию, но я получаю 0.0