【发布时间】:2015-10-21 11:38:15
【问题描述】:
我试图将时间戳记入自定义期间,我想我使用的方法不是很好,在回答这个问题时提出 Bin timestamp into custom periods 这是我的代码:
def assigne_time():
morning_start=datetime.time(7)
morning_end = datetime.time(12)
noon_start=datetime.time(12)
noon_end=datetime.time(14)
afternoon_start=datetime.time(14)
afternoon_end=datetime.time(18)
evening_start = datetime.time(18)
evening_end = datetime.time(23)
night_start=datetime.time(23)
night_end=datetime.time(7)
periods = {'morning':[morning_start, morning_end], 'noon':[noon_start, noon_end],'afternoon':[afternoon_start, afternoon_end],'evening':[evening_start, evening_end], 'night':[night_start, night_end]}
for k, v in periods.items():
df['periods'] = np.where(((v[0].hour <= df.Time.apply(lambda x: x.hour)) & (df.Time.apply(lambda x: x.hour) <= v[1].hour)), k, 'unknown_period')
return df.to_csv('assigne_time.csv', sep='\t')
所以它只分配“早上”时段,而其他人分配“unknown_period”:
05:51:53 2015-05-22 unknown_period
05:52:59 2015-05-22 unknown_period
06:08:24 2015-05-22 unknown_period
06:09:06 2015-05-22 unknown_period
08:25:31 2015-05-22 morning
08:25:35 2015-05-22 morning
08:26:37 2015-05-22 morning
08:27:11 2015-05-22 morning
08:33:17 2015-05-22 morning
08:33:45 2015-05-22 morning
【问题讨论】:
-
and和&做同样的事情吗? wiki.python.org/moin/BitwiseOperators
标签: python datetime pandas dataframe