本节主要讲述如何把pandas中的数据用图表的方式显示在屏幕上,有点相似在excel中显示图表。python
为了可以显示图表,首先须要安装matplotlib库,安装方法以下:dom
pip3 install matplotlib
import numpy as np import pandas as pd import matplotlib.pyplot as plt # 产生1000个随机数 data = pd.Series(np.random.rand(1000)) # 画图表 data.plot() # 显示图表 plt.show()
在上面的代码中,咱们首先建立1000个随机数序列点,而后对这1000个点进行画图表,最后调用plt.show()显示图表。函数
显示的结果为:
调试
在matplotlib中,若是想要显示图表,须要使用plt.plot()函数,但在pandas中,咱们只要对序列数据调用plot()函数就能显示其所拥有的数据,是否是很简单。excel
显示矩阵中的数据,就会把每列当作一个数据序列进行显示,例如:code
import numpy as np import pandas as pd import matplotlib.pyplot as plt # 产生1000个4列正态分布的随机数 data = pd.DataFrame(np.random.randn(1000, 4)) # 对其中的数据进行累加,目的是为了可以使例子中显示的曲线有上升波动效果 data = data.cumsum() # 打印出前几行的数据,方便咱们调试其中的数据值 print(data.head()) # 画图表 data.plot() # 显示图表 plt.show()
其中显示的头几行数据值为:blog
0 1 2 3 0 0.596323 0.195563 0.037300 0.900385 1 0.186813 2.217155 0.516096 0.623348 2 1.147338 2.362926 2.597531 0.960079 3 1.571033 2.910459 0.947950 0.609487 4 1.783988 3.702685 -0.358119 2.341726
显示的图表为:
图片
仍是挺漂亮的图表,有点像股市走势图。:)
只是其中的0,1,2,3这几个列名不大好看,咱们能够修改产生数据集中的列名,这样,在显示图表时就能按照数据集中的列名进行显示了。
好比,咱们想修改数据集中的列名显示为A、B、C、D:ip
data = pd.DataFrame(np.random.randn(1000, 4), columns=list("ABCD"))
这样显示为:
pandas
能够用scatter()函数来显示散点图,但其使用方式跟显示图表的有点不同,主要是此函数是在plot属性中的方法,须要注意一下:
data.plot.scatter(x='A', y='B')
完整的代码为:
import numpy as np import pandas as pd import matplotlib.pyplot as plt # 产生1000个4列正态分布的随机数 data = pd.DataFrame(np.random.randn(1000, 4), columns=list("ABCD")) # 打印出前几行的数据,方便咱们调试其中的数据值 print(data.head()) # 显示散点图 data.plot.scatter(x='A', y='B') # 显示图 plt.show()
显示图为:
在scatter函数中还能够添加额外的属性,好比能够经过color来指定颜色,经过label来指定标签,咱们来看一下:
data.plot.scatter(x='A', y='B', color='DarkBlue', label="Class 1")
显示的图为:
若是咱们想要在一张图中再画一下另外一个散点图,好比,在上面这个例子中,咱们已经显示了横坐标是A纵坐标是B的散点图,如今咱们还想把横坐标是A,纵坐标是C的数据也显示在其中,该怎么进行呢?
# 显示散点图 pic1 = data.plot.scatter(x='A', y='B', color='DarkBlue', label="Class 1") data.plot.scatter(x='A', y='C', color='DarkGreen', label='Class2', ax=pic1) # 显示图 plt.show()
图片显示为:
更多的图形还有:条形图, 直方图, 盒须图, 饼图等,相应的函数名有:bar, hist, box, kde, area, hexbin, pie等(前面不是一一对应的,有兴趣的读者能够本身去试试看。)