Python统计pivot选项卡中的所有布尔值

2024-06-09 20:23:20 发布

您现在位置:Python中文网/ 问答频道 /正文

有人知道如何计算透视表中的所有布尔值(包括假值)吗?在

passed_exam是一列布尔值。在

此代码只对真正的值执行任务,这很好:

table = pd.pivot_table(df,index=["student","semester"], values=["passed_exam"],aggfunc=np.sum)

但我还需要一个列来计算所有布尔值。在

提前谢谢你!在


Tags: 代码dfindexnptablestudentpdpivot
1条回答
网友
1楼 · 发布于 2024-06-09 20:23:20

我想你需要^{}^{}一起,最后由^{}整形:

df = pd.DataFrame({'student':['a'] * 4 + ['b'] * 6,
                   'semester':[1,1,2,2,1,1,2,2,2,2],
                   'passed_exam':[True, False] * 5})

print (df)
  passed_exam  semester student
0        True         1       a
1       False         1       a
2        True         2       a
3       False         2       a
4        True         1       b
5       False         1       b
6        True         2       b
7       False         2       b
8        True         2       b
9       False         2       b

table = df.groupby(["student","semester","passed_exam"])
          .size()
          .unstack(fill_value=0)
          .rename_axis(None, axis=1)
          .reset_index()
print (table)
  student  semester  False  True
0       a         1      1     1
1       a         2      1     1
2       b         1      1     1
3       b         2      2     2

相关问题 更多 >