数据分析之Pandas-03绘图函数

来源:互联网 发布:手机解锁密码软件 编辑:程序博客网 时间:2024/05/20 19:15

01-线型图

简单的Series图标示例

np.random.seed(0)s = Series(np.random.randn(10).cumsum(),index = np.arange(0,100,10))s.plot()

简单的DataFrame图标示例

np.random.seed(0)df = DataFrame(np.random.randn(10,4).cumsum(0),              columns= ['A','B','C','D'],              index = np.arange(0,100,10))plt.show(df.plot())

02-柱状图

水平和垂直柱状图

fig,axes = plt.subplots(2,1)data = Series(np.random.rand(16),index = list('abcdefghijklmnop'))data.plot(kind = 'bar',ax = axes[0],color = 'b',alpha = 0.9)data.plot(kind = 'barh',ax = axes[1],color = 'b',alpha = 0.9)

DataFrame柱状图示例

ig,axes = plt.subplots(2,1)data = Series(np.random.rand(16),index = list('abcdefghijklmnop'))data.plot(kind = 'bar',ax = axes[0],color = 'b',alpha = 0.9)data.plot(kind = 'barh',ax = axes[1],color = 'b',alpha = 0.9)

03-直方图

直方图是一种可以对值频率进行离散化显示的柱状图
通过Series的hist方法

random随机数百分比的直方图

a = np.random.random(10)b = a/a.sum()s = Series(b)plt.show(s.hist(bins = 100)) #bins直方图的柱数

04-密度图

random随机数百分比的密度图

带有密度估计的规格化直方图

%matplotlib inlinecomp1 = np.random.normal(0,1,size = 200)comp2 = np.random.normal(10,2,size = 200)values = Series(np.concatenate([comp1,comp2]))p1 = values.hist(bins = 100,alpha = 0.3,color = 'k',normed = True)p2 = values.plot(kind = 'kde',style = '--',color = 'r')

05-散布图

一张简单散布图

df = DataFrame(np.random.randint(0,100,size = 100).reshape(50,2),columns = ['A','B'])df.plot('A','B',kind = 'scatter',title = 'x Vs y')

散布图矩阵

import numpy as npimport pandas as pdfrom pandas import Series,DataFrame%matplotlib inlinedf = DataFrame(np.random.randn(200).reshape(50,4),columns = ['A','B','C','D'])pd.plotting.scatter_matrix(df,diagonal = 'kde',color = 'k')