【发布时间】:2015-11-27 11:10:18
【问题描述】:
我有一个 pandas DataFrame,其中一列是一堆日期(日期时间类型)。我正在尝试将一年中所有星期一的每分钟观察次数与当天的分钟数进行对比。
例如,假设我的数据中有两个星期一,在第一个星期一的 09:01 有 3 个观测值,在第二个星期一的 09:01 有 4 个观测值。我想针对 9*60+1=541 绘制 7 (3+4) (也就是说,09:01 是一天开始以来的第 541 分钟)。我是这样开始的:
def minutes_in_day(arg):
#returns minute number in day
return arg.hour*60+arg.minute
def get_day(arg):
return arg.isocalendar()[2]
# df is my pandas dataframe
df['day']=df['my_datetime_variable'].apply(get_day)
df['minute']=df['my_datetime_variable'].apply(minutes_in_day)
group=df.groupby(['day','minute'])
my_data=group['whatever_variable'].count()
my_data 有两个索引:一个从 1(星期一)到 7(星期日)的日索引和一个从可能 0 到可能 24*60-1=1439 的分钟索引。仅当日索引为 1 时,如何使用 matplotlib(pyplot) 绘制观察计数与分钟索引?
【问题讨论】:
标签: python datetime matplotlib