数据分析---pandas---遇到的问题--时间转换

问题描述:在利用pandas对excel数据表进行提取的时候,我要对里面的时间进行分析,然后发现当我想逐个取出年、月、日、星期的时候报错了,错误如下:
在这里插入图片描述
意思是str类型的对象没有year这个属性,后来发现,虽然我读进来是个对象,但是却忽略了一个细节,就是在这里需要的是具体的时间戳对象,读出来的却是str对象,所以会报这个错。
解决方案
将读出来的时间对象利用pandas进行时间戳转换之后再进行使用。

import pandas as pd

#读取数据表,相对路径
order = pd.read_table('meal_order_info.csv',sep=',',encoding='gbk')
print(order)

print('befor',type(order['lock_time']))#<class 'pandas.core.series.Series'>
print('befor',order['lock_time'].dtypes)#object
print('befor',type(order['lock_time'][0]))#befor <class 'str'>

#转换时间戳
order['lock_time'] = pd.to_datetime(order['lock_time'])
print(type(order['lock_time'][0]))#<class 'pandas._libs.tslibs.timestamps.Timestamp'>

#年、月、日、星期
year = [i.year for i in order['lock_time']]
month = [i.month for i in order['lock_time']]
day = [i.day for i in order['lock_time']]
hour = [i.hour for i in order['lock_time']]

在这里插入图片描述

这是转换后拿到的年,注意得到的是一个数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值