【发布时间】:2022-01-18 17:50:30
【问题描述】:
我有一个这种格式的数据框:
| ageClass | sex | nationality | treatment | unique_id | netTime | clockTime | |
|---|---|---|---|---|---|---|---|
| 0 | 20 | M | KEN | Treatment | 354658649da56c20c72b6689d2b7e1b8cc334ac9 | 7661 | 7661 |
| 1 | 20 | M | KEN | Treatment | 1da607e762ac07eba6f9b5a717e9ff196d987242 | 7737 | 7737 |
| 2 | 20 | M | KEN | Control | 1de4a95cef28c290ba5790217288f510afc3b26b | 7747 | 7747 |
| 3 | 30 | M | KEN | Control | 12215d93d2cb5b0234991a64d097955338a73dd3 | 7750 | 7750 |
| 4 | 30 | M | KEN | Treatment | 5375986567be20b49067956e989884908fb807f6 | 8163 | 8163 |
| 5 | 20 | M | ETH | Treatment | 613be609b3f4a38834c2bc35bffbdb6c47418666 | 7811 | 7811 |
| 6 | 20 | M | KEN | Control | 70fb3284d112dc27a5cad7f705b38bc91f56ecad | 7853 | 7853 |
| 7 | 30 | M | AUS | Control | 0ea5d606a83eb68c89da0a98543b815e383835e3 | 7902 | 7902 |
| 8 | 20 | M | BRA | Control | ecdd57df778ad901b41e79dd2713a23cb8f13860 | 7923 | 7923 |
| 9 | 20 | M | ETH | Control | ae7fe893268d86b7a1bdb4489f9a0798797c718c | 7927 | 7927 |
目标是根据时钟时间来确定哪个年龄段的人从治疗组中受益最多。 这意味着我需要以某种方式将每个年龄组中成员的所有值分组为治疗和控制条件,并取他们的时钟时间的平均值。 然后,我需要获取子组的平均时钟时间的差异,并将所有这些时间相互比较。
我卡住的地方是同时基于多列过滤数据帧。我尝试使用 groupby() 如下:
df.groupby(['ageClass','treatment'])['clockTime'].mean()
但是我无法计算结果系列的平均时间差。
我应该如何前进?
【问题讨论】:
标签: python pandas dataframe pandas-groupby preprocessor