python - 平均每天的产出(周一、周二等)
问题描述
目前我有一个包含数千行的 csv 文件。每行显示日期和时间,但不按升序排列。如何根据天数(周一、周二、周三等)计算事件/发生的数量?此外,它应该是每天的平均发生次数。例如,每个星期一的平均出现次数是 712,每个星期二是 853,等等。
到目前为止,我设法使用该行添加了相应日期的列
df['DAY'] = pd.to_datetime(df['DATE']).dt.day_name()
前 10 行 ,但我不知道如何继续使用 Python 生成包含每天平均出现次数(周一、周二等)的输出。
输出应显示:[周一平均值为周二平均值为周三等]
解决方案
返回具有指定语言环境的 DateTimeIndex 的日期名称 Monday-Sunday
df['DAY'] = pd.to_datetime(df['DATE']).dt.day_name()
如果您还没有要聚合的列,请创建一个列来表示发生的实例:
#I'm assuming each day refers to a unique "instance" or occurrence
#but this does not have to follow if you already have a column to count/aggregate
df['OCCURENCE'] = 1
要返回,给定日期的平均出现次数只需使用 groupby 语句并指定您想要平均的组:
group_df = df.groupby('DAY')['OCCURENCE'].mean()
为了满足将所有内容都放在列表中的奇怪格式要求
output_list = []
for day in group_df.index:
avg = group_df.loc[day][0]
str_format = 'average for {d}:{v}'.foramt(d=day, v=avg)
output_list.append(str_format)
new_list = ' '.join(output_list)
推荐阅读
- ios - 推动 segue 过渡真的很不稳定 iOS App swift
- python - 如何创建输入形状 = 输出形状的自动编码器模型
- c - 在测试我的冒泡排序算法时,控制台会在一秒钟后关闭
- javascript - 递归序列化对象
- javascript - 不和谐机器人如何向用户发送具有随机名称的文件?
- mongodb - 我想在 mongodb 中按月从 JAN-DEC 返回值的总和
- javascript - 反应重新渲染不显示更新的状态数组
- r - 如何用学生 ID 命名 nops_eval 生成的 html 文件?
- mysql - Nodejs mysql2没有抛出连接或查询错误
- exiftool - 使 ExifTool overwrite_original 是事务性的和原子的?