【问题标题】:Python count boolean values using groupbyPython使用groupby计算布尔值
【发布时间】:2017-07-30 16:23:06
【问题描述】:

我有以下程序:

 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?我想在第一行有一个,然后在第二行有一个空白..最后得到一个数据框。 谢谢!

【问题讨论】:

    标签: python pandas pycharm


    【解决方案1】:

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

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

    【讨论】:

    • 太棒了!!谢谢!!
    猜你喜欢
    • 2018-09-13
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 2015-01-13
    • 1970-01-01
    • 2017-05-15
    相关资源
    最近更新 更多