python|jupyter|pandas|4.3转换与处理时间序列数据
2020-01-14 20:38
1281 查看
4.3转换与处理时间序列数据
数据分析的分析对象:数值型、类别型、时间类型
#前面 import pandas as pd order1=pd.read_table('E:\大三上\张宇萌\实习任务安排(2019-9-26)/meal_order_info.csv',sep=',',encoding='gbk') #转换 print('转换前订单信息表lock_time的类型为:',order1['lock_time'].dtypes) order1['lock_time']=pd.to_datetime(order1['lock_time']) print('转换后类型为',order1['lock_time'].dtypes)
Timestamp的最小时间和最大时间
print('最小时间',pd.Timestamp.min) print('最大时间',pd.Timestamp.max)
时间字符串转换为Datetimeindex和Periodindex
#Datetimeindex dateindex=pd.DatetimeIndex(order1['lock_time'])#注意大写 print('转换后类型为',type(dateindex)) #Periodindex periodindex=pd.PeriodIndex(order1['lock_time'],freq='S')#注意大写 print('转换后类型为',type(periodindex)) #转化为Periodindex时,要通过frep参数指定时间间隔, #常用的时间间隔: Y(年) M(月) D(日) H(小时) T(分钟) S(秒)
#提取Datetime数据中的时间序列 #年份 year1=[i.year for i in order1['lock_time']] print('lock_time中年份的前5个数据',year1[1:5]) #月份 month1=[i.month for i in order1['lock_time']] print('lock_time中月份的前5个数据',month1[1:5]) #日期 day1=[i.day for i in order1['lock_time']] print('lock_time中日期的前5个数据',day1[1:5]) #星期 weekday1=[i.weekday_name for i in order1['lock_time']] print('lock_time中星期的前5个数据',weekday1[1:5])
#提取Dateindex和Periodindex中的数据 print('dateindex中星期前5个数据',dateindex.weekday_name[:5]) print('periodindex中星期标号前5个数据',periodindex.weekday[:5]) #注意,periodindex比Dateindex少了weekday_name属性, #所以不能直接提取星期名称,要先提取标号,再赋值
加减时间
#加运算 time1=order1['lock_time']+pd.Timedelta(days=1) print('初始前5行数据:',order1['lock_time'][:5]) print('结果前5行数据:',time1[:5]) #减运算 time2=order1['lock_time']-pd.to_datetime('2017-1-1') print('lock_time减去2017年1月1日0点0时0分(前5行)',time2[:5])
任务实现
import pandas as pd order1=pd.read_table('E:\大三上\张宇萌\实习任务安排(2019-9-26)/meal_order_info.csv',sep=',',encoding='gbk') #订单信息表时间数据转换 print('use_start_time,lock_time类型:',order1[['use_start_time','lock_time']].dtypes) order1['use_start_time']=pd.to_datetime(order1['use_start_time']) order1['lock_time']=pd.to_datetime(order1['lock_time']) print('use_start_time,lock_time类型:',order1[['use_start_time','lock_time']].dtypes) #订单信息表时间信息提取 year1=[i.year for i in order1['lock_time']] month1=[i.month for i in order1['lock_time']] day1=[i.day for i in order1['lock_time']] week=[i.week for i in order1['lock_time']]#周信息 weekday=[i.weekday() for i in order1['lock_time']]#星期信息 weekname=[i.weekday_name for i in order1['lock_time']]#星期名称 print('lock_time中年份的前5个数据',year1[1:5]) print('lock_time中月份的前5个数据',month1[1:5]) print('lock_time中日期的前5个数据',day1[1:5]) print('lock_time中周的前5个数据',week[1:5]) print('lock_time中星期名称的前5个数据',weekname[1:5]) print('lock_time中星期的前5个数据',weekday[1:5]) #查看订单信息表时间统计信息 timemin=order1['lock_time'].min() timemax=order1['lock_time'].max() print('订单最早时间',timemin) print('订单最晚时间',timemax) print('订单持续的时间',timemax-timemin) checktime=order1['lock_time']-order1['use_start_time'] print('平均点餐时间',checktime.mean()) print('最短点餐时间',checktime.min()) print('最长点餐时间',checktime.max())
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python数据分析:pandas时间序列处理及操作
- 人工智能:python 实现 第十一章,使用Pandas处理时间序列数据
- python+pandas+时间、日期以及时间序列处理方法
- pandas:数据处理、计算、聚合、时间序列
- 【python数据挖掘课程】二十三.时间序列金融数据预测及Pandas库详解
- python时间日期函数与利用pandas进行时间序列处理详解
- python+pandas+时间、日期以及时间序列处理
- python pd.crosstab在处理时间序列文本数据的用处
- python pd.crosstab在处理时间序列文本数据的用处
- Python+pandas实现时间序列数据扩展案例一则
- python Pandas库基础分析之时间序列的处理详解
- python+pandas+时间、日期以及时间序列处理
- [新手学java] gradle +spring(4.3) +mybatis(3.4) 之 mybatis 读取数据库数据到 Model中,时间转换问题
- Python入门-17、18、19、20:数据类型及转换,字符串补充(分割,带单位输出数据),处理异常操作的语句
- 使用Python Pandas处理亿级数据
- Python: 处理mongodb文档,怎么让UTC时间转换为本地时间?
- AI与Python - 分析时间序列数据
- python Dataframe pandas 将数据分割成时间跨度相等的数据块
- Python绘制时间序列数据的时序图、自相关图和偏自相关图
- 使用Python Pandas处理亿级数据