Jak policzyć wszystkie wartości dodatnie i ujemne w grupie pand?
Załóżmy, że mamy tabelę:
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)})
Wydajność:
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
Chcę policzyć, ile dodatnich i ujemnych liczb w kolumnie C należy do każdej grupy w kolumnie A iw jakiej proporcji. W A jest znacznie więcej grup niż foo i bar, więc nazwy grup nie powinny znajdować się w kodzie.
Próbowałem grupować A, a następnie filtrować, ale nie znalazłem właściwej drogi. Próbowałem także agregować za pomocą inteligentnej lambdy, ale nie udało się.