当前,我有一个包含数千行的csv文件。每行显示日期和时间,但不按升序排列。如何根据日期(星期一,星期二,星期三等)计算事件/发生的次数?另外,它应该是每天的平均发生次数。例如,每个星期一的平均出现次数为712,每个星期二的平均出现次数为853,等等。
到目前为止,我设法使用该行添加了相应日期的一列
.sidebar-nav-fixed {
width: 14%;
height: 20%;
/* margin-left: -10%; */
/* margin-bottom: -5%; */
top: 0;
left: 0;
z-index: 999;
margin-top: 100px;
}
First 10 rows 但我不知道如何继续使用Python生成包含平均每天出现次数(星期一,星期二等)的输出。
输出应显示: [周一的平均水平,周三的平均周二等。]
答案 0 :(得分:0)
要返回具有指定语言环境周一至周日的DateTimeIndex的日期名称
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)