【发布时间】:2017-08-25 09:30:14
【问题描述】:
我有数据框
df = pd.DataFrame({'member_id': [111, 111, 111, 111, 222, 222, 333, 333], 'event_duration': [12, 242, 3, 21, 4, 76, 34, 12], 'period': [1, 2, 2, 2, 3, 3, 4, 4]})
event_duration member_id period
0 12 111 1
1 242 111 2
2 3 111 2
3 21 111 2
4 4 222 3
5 76 222 3
6 34 333 4
7 12 333 4
我需要计算period 的数量到每个member_id 和周期的中位数
我用
res = df.groupby(['member_id']).agg({'period': pd.Series.nunique, 'event_duration': np.median}).reset_index()
但它会打印所有时期的中位数。但我需要,例如对于111 将中位数设为 1 和 2 周期,[12, 266],我该怎么做?
【问题讨论】:
-
请显示一些预期的输出。无法理解你想要什么。
标签: python pandas dataframe pandas-groupby