为了账号安全,请及时绑定邮箱和手机立即绑定

使用 pandas 创建具有行信息的类别

使用 pandas 创建具有行信息的类别

侃侃无极 2023-12-12 21:49:44
我正在使用一个数据库 (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


查看完整回答
反对 回复 2023-12-12
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信