【发布时间】:2018-07-15 14:11:33
【问题描述】:
我有YEAR 和RACEETHN 作为multiindex。我想计算每个列变量的每个 YEAR 和 RACEETHN 组合的“1”值的数量(注意,数据不仅是 0 和 1,所以我不能求和)。
我可以通过这样做来计算每列的 value = 1:
(df_3.ACSUPPSV == 1).sum()
(df_3.PSEDSUPPSV == 1).sum()
我想使用groupby 执行此操作,但无法使其正常工作。我尝试了以下代码来测试我是否可以在单个列 'ACSUPPSV' 上执行此操作,但它没有工作:
df.groupby(['YEAR', 'RACEETHN']).loc[df.ACSUPPSV == 1, 'ACSUPPSV'].count()
我将数据导出到 excel 并能够使用快速“COUNTIF”公式进行计算,但我知道在 pandas 中必须有一种方法可以做到这一点 - 来自 excel 的结果如下所示:
如果有人有比导出到 Excel 更好的方法来做到这一点,我们将不胜感激! :)
【问题讨论】:
标签: python-3.x pandas group-by count