转换字符串时间为标准时间
-
-
-
- 准备数据
-
-
准备数据meal_order_info.csv,并将meal_order_info.csv数据放到Linux本地/course/DataAnalyze/data目录。
-
-
-
- 转换字符串时间为标准时间
-
-
- pandas提供了to_datetime函数,能够实现时间相关的字符串转换成为Timestamp,如代码 41所示。
In[1]: | import os import pandas as pd os.chdir('/course/DataAnalyze/data') order = pd.read_table('/meal_order_info.csv',sep = ',',encoding = 'gbk', engine = 'python') print('进行转换前订单信息表lock_time的类型为:', order['lock_time'].dtypes) order['lock_time'] = pd.to_datetime(order['lock_time']) print('进行转换后订单信息表lock_time的类型为:', order['lock_time'].dtypes) |
Out[1]: | 进行转换前订单信息表lock_time的类型为: object 进行转换后订单信息表lock_time的类型为: datetime64[ns] |
- 值得注意的是,Timestamp类型时间是有限制的,如代码 42所示。
代码 42 Timestamp的最大最小时间和最大时间
In[2]: | print('最小时间为:', pd.Timestamp.min) |
Out[2]: | 最小时间为: 1677-09-21 00:12:43.145225 |
In[3]: | print('最大时间为:', pd.Timestamp.max) |
Out[3]: | 最大时间为: 2262-04-11 23:47:16.854775807 |
- 除了将数据字原始DataFrame中直接转换为Timestamp格式外,还可以将数据单独提取出来将其转换为DatetimeIndex或者PeriodIndex,如代码 43所示。
代码 43 时间字符串转换为DatetimeIndex和PeriodIndex
In[4]: | dateIndex = pd.DatetimeIndex(order['lock_time']) print('转换为DatetimeIndex后数据的类型为:\n',type(dateIndex)) |
Out[4]: | 转换为DatetimeIndex后数据的类型为: <class 'pandas.core.indexes.datetimes.DatetimeIndex'> |
In[5]: | periodIndex = pd.PeriodIndex(order['lock_time'],freq = 'S') print('转换为DatetimeIndex后数据的类型为:\n',type(periodIndex)) |
Out[5]: | 转换为DatetimeIndex后数据的类型为: <class 'pandas.core.indexes.period.PeriodIndex'> |