《Python数据分析实战》
1.处理日期值
数据处理过程中,最常见的一个问题就是日期类型数据的处理。
import datetime
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
#分别表示月份和日子(这个例子主要是用到月份)
mothes = mdates.MonthLocator()
days = mdates.DayLocator()
#定义时间显示格式
timeFmt = mdates.DateFormatter('%Y-%m')
events = [datetime.date(2015,1,23),datetime.date(2015,1,28),datetime.date(2015,2,3),datetime.date(2015,2,21),datetime.date(2015,3,15),datetime.date(2015,3,24),datetime.date(2015,4,8),datetime.date(2015,4,24)]
readings = [12,22,25,20,18,15,17,14]
#注意是subplots,返回一个figure对象和一个子图的array列表。
fig,ax = plt.subplots()
plt.plot(events,readings)
#设置显示格式
ax.xaxis.set_major_locator(mothes)
ax.xaxis.set_major_formatter(timeFmt)
plt.show()
下面显示是否添加时间格式的区别:
关于日期转换的另一个例子:
from pylab import *
import matplotlib as mpl
import datetime
#获取figure和axes对象
fig = figure()
ax = gca()
start = datetime.datetime(2013, 1, 1)
stop = datetime.datetime(2013, 12, 31)
#设置时间间隔
delta = datetime.timedelta(days = 1)
#Return a sequence of equally spaced Matplotlib dates.返回等距的时间序列
dates = mpl.dates.drange(start, stop, delta)
#生成对应的整数随机分布
values = np.random.rand(len(dates))
ax = gca()
ax.plot_date(dates, values, linestyle= '-', marker='')
date_format = mpl.dates.DateFormatter('%Y-%m-%d')
ax.xaxis.set_major_formatter(date_format)
#autofmt_xdate解释:Date