pandas如何去掉时间列的小时只保留日期
Posted subic
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas如何去掉时间列的小时只保留日期相关的知识,希望对你有一定的参考价值。
最近无聊,想玩玩数据挖掘,就拿天池的天池新人实战赛之[离线赛]练练手。https://tianchi.aliyun.com/getStart/information.htm?spm=5176.100067.5678.2.2b282b2bAOqNmy&raceId=231522
其中在处理数据时,我需要以日期为索引,比如将前6天的数据作为训练集,第7天的数据作为预测集。下图是阿里给的数据。
由于我们需要按天来统计数据,所以暂时认为几点购买的这个信息没什么用,我想去掉。要怎么去掉呢?
我们可以看到,时间列是object类型,先对其进行转换。
然后这里有几种方法去除时间:
上图的第二句话是设置时间为索引。
第二种方法:
all_user[\'time\'] = pd.to_datetime(all_user[\'time\']).dt.date
这种方法很慢,请不要轻易尝试。
或者:
all_user[\'time\'] = pd.to_datetime(all_user[\'time\']).dt.floor(\'d\')
具体可以参考:https://stackoverflow.com/questions/16176996/keep-only-date-part-when-using-pandas-to-datetime。
然后我们就可以分割数据为训练集和预测集了。
train_user = all_user[\'2014-11-22\':\'2014-11-27\'] train_user_predict = all_user[\'2014-11-28\'] valid_user = all_user[\'2014-11-29\':\'2014-12-04\'] valid_user_predict = all_user[\'2014-12-05\'] test_user = all_user[\'2014-12-13\':\'2014-12-18\'] test_user_predict = all_user[\'2014-12-19\']
以上是关于pandas如何去掉时间列的小时只保留日期的主要内容,如果未能解决你的问题,请参考以下文章
在 Pandas 中从 datetime <[M8] 删除时间