joi模块验证日期格式_Python datetime模块数据分析

python的datetime模块是用来处理时间格式的数据的,之前没有接触过,今天因为帮朋友修改项目,学习了下,发现如果用好了真的是一把利器。

我们以芝加哥共享单车数据集为分析对象,来看一下如何处理这样的时间格式的列。

我们打印字段看看

f5b1e5e4f44fb0c0bbfa0a5cf6ae787b.png

199693481c7e1906f4c966de48c0ae8e.png

发现这个数据集有很多字段,其中头两列是我们要用的时间格式的列,是我们主要用来操作的列。我们接下来用数据分析模块pandas来读取这个数据集。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
df=pd.read_csv('chicago.csv')
df.head()

3a3906278768d692424a10625ca073dd.png

导入datetime模块

from datetime import datetime as dt
#datetime模块的strptime能够将文本字符串格式的数据转换成时间格式的数据,而strftime方法则是能够把时间格式的数据按照我们想要的时间格式输出,比如说输出这个日期的月份名字,星期几等等,扩展性十分强大
#我们在这里就可以定义一个函数让上面的dataframe来apply这个方法达到转换的目的
#输出星期几
def trans_weekday(date):
    return date.strptime(date, '%Y-%m-%d %H:%M:%S').strftime('%A').lower()#strptime传入两个参数,date是字符串的时间,后面是以什么格式来读取,而strftime则是输入我们想要输出的格式,比如这里的%A就是输出星期几的全称如tuesday
def trans_month(date):
    return date.strptime(date, '%Y-%m-%d %H:%M:%S').strftime('%B').lower()#输出月份的全称
df['weekday']=df['Start Time'].apply(trans_weekday)
df['month']=df['Start Time'].apply(trans_month)
df.head(2)

1f66d0bc8d3b43df6a1dcd02cc55bf1f.png

可以看到,确实已经转化好了。

此外,转化方法除了用dt,strptime的方法,也可以用pandas.to_datetime()里面传入字符串来转换成时间格式。

关于日期格式的表达方法,在参考资源:日期处理方法有列出。

a39e9196f0163b65432a75da851d27e0.png

datetime还有很多方法和属性,比如now()返回当前的时间,timedelta是相关的时间间隔,可以跟时刻进行相加减。now对象还有多种输出格式,参考这里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值