我有这张桌子:
日期 | 用户ID | 通话 | 时间 |
---|---|---|---|
2022年9月3日 | 2234 | 10 | 01:06:19 |
2022年9月3日 | 2234 | 4 | 00:32:54 |
我想分组(也重置索引):
日期 | 用户ID | 通话 | 时间 |
---|---|---|---|
2022年9月3日 | 2234 | 14 | 01:39:13 |
我陷入了聚合时间的困境,我读到你必须首先将其转换为 timedelta,但我不确定如何将函数放入 group by(也许使用 lambda?)。此外,我还使用普通求和函数应用了调用。这是我当前的代码:
df.groupby(['Date','UserID'])['Calls','Hours'].apply(lambda x : x.astype(int).sum()).reset_index()
数据类型:
日期 - 日期时间
用户 ID - 整数
通话 - 国际
小时 - 日期时间(时间)
任何帮助表示赞赏!
用途:
out = df.assign(Hours = pd.to_timedelta(df['Hours'], unit='H').groupby(['Date','UserID'])[['Calls','Hours']].sum()