【发布时间】:2020-03-09 19:07:50
【问题描述】:
我有一张这样的桌子
timestamp avg_hr hr_quality avg_rr rr_quality activity sleep_summary_id
1422404668 66 229 0 0 13 78
1422404670 64 223 0 0 20 78
1422404672 64 216 0 0 11 78
1422404674 66 198 0 40 9 78
1422404676 65 184 0 30 3 78
1422404678 64 173 0 10 17 78
1422404680 66 199 0 20 118 78
我正在尝试按timestamp、sleep id 和rr_quality 对数据进行分组,其中rr_quality 是> 0
我已经尝试了以下方法,但它们似乎都不起作用
df3 = df2.groupby([df2.index.hour,'sleep_summary_id',df2['rr_quality']>0])
df3 = df2.groupby([df2.index.hour,'sleep_summary_id','rr_quality'>0])
df3 = df2.groupby([df2.index.hour,'sleep_summary_id',['rr_quality']>0])
它们都返回一个 keyerror。
编辑:
似乎一次也不能通过多个过滤器。 我尝试了以下方法:
df2[df2['rr_quality'] >= 150, df2['hr_quality'] > 200]
df2[df2['rr_quality'] >= 150, ['hr_quality'] > 200]
df2[[df2['rr_quality'] >= 150, ['hr_quality'] > 200]]
返回:TypeError: 'Series' objects are mutable, thus they cannot be hashed
【问题讨论】: