Pandas 按组聚合时间

问题描述 投票:0回答:1

我有这张桌子:

日期 用户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 - 整数
通话 - 国际
小时 - 日期时间(时间)

任何帮助表示赞赏!

pandas datetime group-by aggregate-functions hour
1个回答
0
投票

用途:

out = df.assign(Hours = pd.to_timedelta(df['Hours'], unit='H').groupby(['Date','UserID'])[['Calls','Hours']].sum()
© www.soinside.com 2019 - 2024. All rights reserved.