时间操作
import pandas as pd
import matplotlib.pyplot as plt
1、to_datetime(arg,format)
该函数可以将字符型的时间数据转换为时间型数据
将Str和Unicode转化为时间戳格式 '1899-12-15 11:38:30'
2、read_csv(filepath_or_buffer,sep=‘,’, delimiter=None,parse_dates=True header=‘infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None …)
(1)file_or_buffer:表示文件路径,可以为URL字符串。
(2)sep:指定使用的分隔符,如果不指定默认用“,”分隔。
(3)header:指定行数用来作为列名,如果读取的文件中没有列名,则默认为0,否则设置为None。
(4)names:用于结果的列名列表。如果文件不包含标题行,则应该将该参数设置为None。
(5)index_col:用作行索引的列编号或者列名,如果给定一个序列,则表示有多个行索引。
(6)parse_dates=True 以时间特征为索引 尝试解析index为日期格式;
parse_dates={’考试安排时间’:[‘考试日期’,‘考试时间’]},
将会尝试解析日期和时间拼接起来,并将列名重置为‘考试安排时间’;
注意:重置后列名不能和原列名重复
3、pd.Timestamp()
pd.Timestamp(‘2012-01-01 09:00’):pd.Timestamp(‘2012-01-01 19:00’)
将 2012-01-01 09:00 和 2012-01-01 19:00 之间的数据取出
4、pd.resample(rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention=‘start’, kind=None, loffset=None, limit=None, base=0)
重新采样,对常规时间序列数据重新采样(升采样、降采样、插值等)和频率转换的便捷的方法。
参数
rule 是重采样的规则,可以是字符串('5min'、'D'等)
how 用于产生聚合值的函数名或数组函数,例如‘mean'、‘ohlc'、np.max等,默认是‘mean',
其他常用的值由:‘first'、‘last'、‘median'、‘max'、‘min'
axis=0 默认是纵轴,横轴设置axis=1
fill_method = None 升采样时如何插值,比如‘ffill' 用前面的数据插值、‘bfill' 用后面的数据插值等
closed = ‘right' 在降采样时,各时间段的哪一段是闭合的,‘right'或‘left',默认‘right'
例:.resample('3D').mean().head()
以3天为单位求平均值,并返回数据中的前五行,head()不加参数默认返回前五行
5、numpy.random.randn(d0,d1,…,dn)
randn函数返回一个或一组样本,具有标准正态分布。
dn表格每个维度
返回值为指定维度的array
绘图操作
1、%matplotlib inline
省去每次写完程序后的绘图操作.show()
2、cumsum( a ,axis)函数
一维输入a , 就是原来位置的数据,换成前面数据之和(包括加上自己)
二维输入a,axis=0(第1行不动,将第1行累加到其他行);
axis=1(进入最内层,转化成列处理。第1列不动,将第1列累加到其他列)
三维输入a,cumsum(0):实现0轴上的累加:以最外面的数组元素为单位,实现后面元素的对应累加
cumsum(1):实现1轴上的累加:以中间数组元素为单位,实现后面元素的对应累加
cumsum(2):实现2轴上的累加:以最里面的元素为累加单位,实现后面的元素累加
3、.subplot(a, b)
创建一个包含多个子图的图形
创建一个a行b列个子图形
例 subplot(211)把绘图区域等分为2行*1列共两个区域,
然后在区域1(第一个区域)中创建一个图.
subplot(212)在区域2(第二个区域)创建一个图。
4、plot(x,y,fmt,color,linestyle,marker,linewidth,markersize,label,kind)
x为x轴数据, y为y轴数据,x,y元素个数N应相同
linestyle:此字段是线的样式,参数形式:字符串
'-' 实线
'--' 虚线
linewidth:此参数是线的粗细,粗细程度和所定数值大小有关,参数形式:数值
marker:点的样式,字符串 (关键点)
'^' 'v' '>' '<' 上下左右三角形
'1' '2' '3' '4' 上下左右三叉线
'o' 圆形
markersize:点的大小,参数形式:数值
color:调节线条还有点的颜色 ,字符串,参数形式字符串
'r' 红
'g' 绿
'b' 蓝
例:‘ro’,表示红色的圆点,可连用,‘r--’:红色的虚线
label:图例,legend文字
kind:绘图类型,如折线图、饼图、散点图等
'bar'(垂直柱状图)
'barh'(水平柱状图)
'hist'可生成直方图(histogram)
'kde'生成KDE(Kernel Density Estimate)密度图
'pie'生成饼图
'scatter'生成散点图
'box'生成盒图
alpha:曲线的透明度,取值范围0-1
5、fig,axes = plt.subplots(a,b)
fig:一次性生成画布
axes:画布位置
subplots多了一个s,一次性创建a行b列个图形区域
data.plot(ax = axes[0,1],kind='bar')、
通过ax = axes[0,1],来确定再那个区域作图
6、axhline()
以x轴为分割线,分成上下两块
7、axvline()
竖向分成两块,数据各自向两边延申
8、plt.annotate(‘aa’, = (-5,0) ,xytext= (0.1),arrowprops = dict(facecolor = ‘blue’,shrink= 0.05, headlength= 30,headwidth= 20))
添加注解函数
arrowprops:箭头
xytext:文字位置
xy:箭头指向的位置
9、xlim(xmin, xmax)
设置x轴的数值显⽰范围
xmin:x轴上的最⼩值
xmax:x轴上的最⼤值
10、Series.plot()
方法的参数如下
label:用于图例的标签
ax: 要在其上进行绘制的matplotlib subplot对象。如果没有设置,则使用当前matplotlib subplot
kind: 可以是’line’, ‘bar’, ‘barh’, ‘kde’
style: 将要传给matplotlib的风格字符串
logy: 在Y轴上使用对数标尺
use_index: 将对象的索引用作刻度标签
xticks: 用作X轴刻度的值
yticks: 用作Y轴刻度的值
xlim: X轴的界限
ylim: Y轴的界限
11、linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
指定的间隔内返回均匀间隔的数字。
start: 开始点
stop: 结束点
num: 要生成的等间隔样例数量,默认为 50
endpoint: 是否在间隔的末端包含 stop 值,默认为 True
retstep: 是否返回样例间隔。如果为 True,则返回 (samples, step)
dtype: 输出数组类型
12、plt.setp(lines, ‘linewidth’, 2, ‘color’, ‘r’)
也是可以设置线的粗细以及颜色,还可以设置坐标轴的方向,位置。