Python使用groupby计算

Python使用groupby计算

我有以下程序:

 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


是否可以不在学生列中重复值a和b?我想在第一行中有一个,然后在第二行中有一个空白,并在最后得到一个数据框。
谢谢!

最佳答案

您可以为student列的重复案例分配一个空字符串:

table.loc[table.student.duplicated(), "student"] = ""
table


python - Python使用groupby计算 bool 值-LMLPHP

关于python - Python使用groupby计算 bool 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42699486/

10-12 21:13