python – 使用datetime.time进行比较和列创建
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 使用datetime.time进行比较和列创建,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2110字,纯文字阅读大概需要4分钟。
内容图文
![python – 使用datetime.time进行比较和列创建](/upload/InfoBanner/zyjiaocheng/703/529052d252834f82bc284e359731c2be.jpg)
我一直在使用熊猫一段时间,我确信这是一个愚蠢的问题.
我需要在数据框架中创建一个以datetime.time为条件的列.如果datetime.time< 12,用'morning'填充列,然后同样的过程到'morning'和'night'.
import datetime
b['time'] = ['01-01-2000 10:00:00', '01-01-2000 15:00:00', '01-01-2000 21:00:00']
b['time'].dt.time
(output)
1 10:00:00
2 15:00:00
3 21:00:00
b['time'].dt.time < 12 #example
TypeError: can't compare datetime.time to int
问题是:我无法将datetime.time与int进行比较.我怎样才能解决这个问题?
非常感激.
解决方法:
我认为您可以使用cut或numpy.searchsorted作为标签的箱子:
rng = pd.date_range('2017-04-03', periods=24, freq='H')
df = pd.DataFrame({'Date': rng})
bins = [0, 5, 13, 17, 25]
labels = ['Morning','Afternoon','Evening','Night']
hours = df['Date'].dt.hour
df['bin'] = pd.cut(hours-5+24 *(hours<5),bins=bins,labels=labels,right=False)
bins = [-1,4,9,17,21]
labels = ['Night', 'Morning','Afternoon','Evening','Night']
df['bin1'] = np.array(labels)[np.array(bins).searchsorted(hours)-1]
print (df)
Date bin bin1
0 2017-04-03 00:00:00 Night Night
1 2017-04-03 01:00:00 Night Night
2 2017-04-03 02:00:00 Night Night
3 2017-04-03 03:00:00 Night Night
4 2017-04-03 04:00:00 Night Night
5 2017-04-03 05:00:00 Morning Morning
6 2017-04-03 06:00:00 Morning Morning
7 2017-04-03 07:00:00 Morning Morning
8 2017-04-03 08:00:00 Morning Morning
9 2017-04-03 09:00:00 Morning Morning
10 2017-04-03 10:00:00 Afternoon Afternoon
11 2017-04-03 11:00:00 Afternoon Afternoon
12 2017-04-03 12:00:00 Afternoon Afternoon
13 2017-04-03 13:00:00 Afternoon Afternoon
14 2017-04-03 14:00:00 Afternoon Afternoon
15 2017-04-03 15:00:00 Afternoon Afternoon
16 2017-04-03 16:00:00 Afternoon Afternoon
17 2017-04-03 17:00:00 Afternoon Afternoon
18 2017-04-03 18:00:00 Evening Evening
19 2017-04-03 19:00:00 Evening Evening
20 2017-04-03 20:00:00 Evening Evening
21 2017-04-03 21:00:00 Evening Evening
22 2017-04-03 22:00:00 Night Night
23 2017-04-03 23:00:00 Night Night
内容总结
以上是互联网集市为您收集整理的python – 使用datetime.time进行比较和列创建全部内容,希望文章能够帮你解决python – 使用datetime.time进行比较和列创建所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。