使用Python中的pandas库解决该问题
示例代码:
import pandas as pd
data = {'ID': ['A', 'A', 'B', 'B', 'B'], 'Date': ['2021-01-01', '2021-01-02', '2021-01-01', '2021-01-02', '2021-01-03'], 'Time': [10, 15, 8, 12, 20]} df = pd.DataFrame(data)
df['Date'] = pd.to_datetime(df['Date'])
result = df.groupby(['ID', 'Date']).agg({'Date': 'count', 'Time': 'sum'}) result.columns = ['DateCount', 'TimeSum'] # 重命名列名 result.reset_index(inplace=True) # 重置索引
print(result)
输出结果:
ID Date DateCount TimeSum 0 A 2021-01-01 1 10 1 A 2021-01-02 1 15 2 B 2021-01-01 1 8 3 B 2021-01-02 1 12 4 B 2021-01-03 1 20
注:以上代码示例输入的时间字段为整数,若为字符串需要使用pd.to_datetime()方法转换为datetime格式。
上一篇:按ID计算记录数量”