【第4章】4.3任务

1.时间格式转换

import pandas as pd
order = pd.read_table('D:/pandas/meal_order_info.csv',sep=',',encoding='gbk')
order['use_start_time'] = pd.to_datetime(order['use_start_time'])
order['lock_time'] = pd.to_datetime(order['lock_time'])
print('转换后类型为:',order[['use_start_time','lock_time']].dtypes)
转换后类型为: use_start_time    datetime64[ns]
lock_time         datetime64[ns]
dtype: object

2.提取 年, 月, 日, 周, 星期, 星期名

  • use_start_time 与 lock_time 中分析其一
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']] # 提取日
week = [i.week for i in order['lock_time']] # 提取周
weekday = [i.weekday() for i in order['lock_time']] # 提取星期信息
weekname = [i.day_name for i in order['lock_time']] # 提取星期名
# 取前 5
print('年:',year[:5])
print('月:',month[:5])
print('日:',day[:5])
print('周:',week[:5])
print('星期:',weekday[:5])
print('星期名:',weekname[:5])
年: [2016, 2016, 2016, 2016, 2016]
月: [8, 8, 8, 8, 8]
日: [1, 1, 1, 1, 1]
周: [31, 31, 31, 31, 31]
星期: [0, 0, 0, 0, 0]
星期名: [<bound method Timestamp.day_name of Timestamp('2016-08-01 11:11:46')>, <bound method Timestamp.day_name of Timestamp('2016-08-01 11:31:55')>, <bound method Timestamp.day_name of Timestamp('2016-08-01 12:54:37')>, <bound method Timestamp.day_name of Timestamp('2016-08-01 13:08:20')>, <bound method Timestamp.day_name of Timestamp('2016-08-01 13:07:16')>]

3.时间统计、

  • Timestamp.min()
  • Timestamp.max()
  • Timestamp.mean()
timemin = order['lock_time'].min()
timemax = order['lock_time'].max()
print('订单最早的时间:',timemin)
print('订单最晚的时间:',timemax)
print('订单持续时间:',timemax - timemin)
订单最早的时间: 2016-08-01 11:11:46
订单最晚的时间: 2016-08-31 21:56:12
订单持续时间: 30 days 10:44:26
checkTime = order['lock_time'] - order['use_start_time']
print('平均点餐时间:',checkTime.mean())
print('最短点餐时间:',checkTime.min())
print('最长点餐时间:',checkTime.max())
平均点餐时间: 0 days 01:12:10.326923
最短点餐时间: -1 days +00:05:03
最长点餐时间: 16 days 00:08:00

注:最长时间 和 最短时间 按照实际是可以列为 “异常值”的

  • 在实际中,可以考虑对这部分数据做合适的处理
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值