我正在使用一个数据库 (xlsx),该数据库告知动物在研究区域内的时间,如下所示:我想将时间分组,挑选时间并将其分类。24 小时至 6 小时 - 黎明 6 小时至 12 小时 - 上午 12 小时至 18 小时 - 下午 18 小时 - 24 小时 - 夜间因此,“21:25:00”将是“晚上”,“10:36:00”将是“早晨”,依此类推。我怎样才能用熊猫做到这一点?我尝试使用与重命名列相同的方法,类似这样。pamdf.loc[pamdf['Hora em que foram detectados dentro da área de exclusão'].isin( ['24:00:00':'06:00:00' ]), 'Hora em que foram detectados dentro da área de exclusão'] = 'Dawn'但这没有任何意义,显然也不起作用。我可以使用“pandas.cut”吗?如何?预先感谢大家,并对英语不好表示歉意。例子:Hour 21:2510:3623:1704:5521:1223:5819:5520:5423:0100:2018:54
1 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
你可以这样做:
import pandas as pd
def convert_to_category(x):
if x in set([i for i in range(1,7)]):
return 'Dawn'
elif x in set([i for i in range(7,13)]):
return 'Morning'
elif x in set([i for i in range(13,19)]):
return 'Afternoon'
else:
return 'Night'
df = pd.DataFrame({'time':['21:25:00','10:36:00','23:17:00']})
df['period'] = pd.to_datetime(df['time']).dt.hour.apply(lambda x: convert_to_category(x))
time period
0 21:25:00 Night
1 10:36:00 Morning
2 23:17:00 Night
添加回答
举报
0/150
提交
取消