Как посчитать все положительные и отрицательные значения в группе панд?
Позволять'Предположим, у нас есть таблица:
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B' : ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C' : np.random.randn(8), 'D' : np.random.randn(8)})
Выход:
A B C D
0 foo one -1.304026 0.237045
1 bar one 0.030488 -0.672931
2 foo two 0.530976 -0.669559
3 bar three -0.004624 -1.604039
4 foo two -0.247809 -1.571291
5 bar two -0.570580 1.454514
6 foo one 1.441081 0.096880
7 foo three 0.296377 1.575791
Я хочу посчитать, сколько положительных и отрицательных чисел в столбце C принадлежит каждой группе в столбце A и в какой пропорции. В A гораздо больше групп, чем в foo и bar, поэтому имена групп не должныбыть в коде.
Я пытался сгруппировать А, а затем фильтровать, но ненайти правильный путь. Также пытался объединиться с какой-то умной лямбдой, но нет успеха.