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如何去掉时间列的小时只保留日期的主要内容,如果未能解决你的问题,请参考以下文章

jqGrid 日期格式化 只显示日期,如何去掉 小时分

在 Pandas 中从 datetime <[M8] 删除时间

使用 MultiIndex 时,如何将此 Pandas 列类型保留为日期时间?

如何绘制日期时间索引数据框中特定列的手动箱线图?

如何检查 Pandas 日期时间列的缺失值?

如何解决 Pandas 代码中的日期时间错误?