python数据分析005_pandas的时间序列

一. python日期和时间数据类型

  1.datetime的time方法可以创建时间,date方法可以创建日期,datetime方法则是日期和时间的结合体。

   通过year、month、day、hour、minute、second属性,可以获取到相应的日期或者时间的值。

 

  • date = datetime.date(2019, 9, 9)
  • time = datetime.time(13, 14, 20)
  • datetime = datetime.datetime(2019, 9, 9, 13, 14, 20)
  • print(datetime.year)
  • print(datetime.minute)

   2.使用datetime.now()方法可以获取到当前时间

  • datetime = datetime.datetime.now()

二.转换时间格式

  1.strftime()方法的作用是将时间格式转化为自定义字符串格式,格式可以完全自定义。

  • 将datetime.datetime(2019, 9, 9, 13, 14, 20)转换成9/9/2019 13:14样式的字符串。
  • date_time = datetime.datetime(2019, 9, 9, 13, 14, 20)
  • str_time = date_time.strftime('%m/%d/%Y %H:%M')

  2.时间格式

 

   3.strptime()方法的作用是字符串时间转化为datetime格式,需要注意的是按一定的格式输出时间

  • strp = datetime.datetime.strptime('08-23-19 20:13:59', '%m-%d-%y %H:%M:%S')

三.Pandas时间序列基础

  1.Pandas的date_range()方法可以快速创建出一个日期范围。

  • pd.date_range(start=None,end=None,periods=None,freq="D")
  • start:日期范围的开始;end:日期范围的结束;periods:固定日期的个数;freq:日期偏移量,取值为string, 默认为'D',即:一天为日期偏移量
  • date= pd.date_range(start='20190505',end='20190606',freq="10D")
  • date= pd.date_range(start='20190505',periods=10,freq="D")

  2.频率的缩写

 

   3.有时候我们会对一天或者一个月的数据进行分析,这就需要我们将时间设置成数据的索引,然后通过时间索引获取到一定时间范围内的数据进行分析。

  • import pandas as pd
  • import numpy as np
  • time_index = pd.date_range('2019-01-01', periods=400)
  • time_data = np.random.randint(100,size=400)
  • date_time = pd.Series(data=time_data,index=time_index)
  • print(date_time)

  然后可以按照时间索引筛选数据

  • date_time['2020']
  • date_time['2019-10']
  • date_time['2019-10-05':'2019-10-10']

  4.Pandas的to_datetime()方法会将字符串类型的是时间转换成Timestamp('2019-10-05 00:00:00')时间戳类型。

  • pd.to_datetime('2019-10-05')

  5.如果想对时间格式修改,还可以使用to_pydatetime()方法将Timestamp类型转换成datetime类型。

  • d.to_datetime('2019-10-05').to_pydatetime()

  6.需要注意的是字符串日期中包含中文,我们可以这样处理

  • pd.to_datetime('2019年10月10日',format='%Y年%m月%d日')

四.总结

 

posted @ 2020-05-15 18:40  番薯大大  阅读(356)  评论(0编辑  收藏  举报