【发布时间】:2014-02-13 08:07:07
【问题描述】:
假设我们有一张桌子:
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 多得多,因此组名不应出现在代码中。
我试图按 A 分组然后过滤,但没有找到正确的方法。还尝试使用一些智能 lambda 进行聚合,但没有成功。
【问题讨论】: