pandas可视化(1)【官方文档解读】--基础绘图
作者:王大伟
Python爱好者社区唯一小编
博客:https://ask.hellobi.com/blog/wangdawei
点击上图即可限时半价购买课程
前段时间想学习python的可视化,自己也做过各种探索
从seaborn(色彩很好看,但是个人感觉调色太专业,底子没打好学起来很累)
到matplotlib(python基础绘图模块,但是写起来特别麻烦,学的不深入图不好看)
再到pyplot(交互式很强,学起来难度太大)
最后由秦路老师推荐,学了pandas的可视化
有以下两个原因:
(1)pandas我之前学过,也写过官方文档翻译连载,比较熟悉
(2)pandas可视化的图风格很好看,很商务风
IDE : jupyter notebook
Anaconda 3.X
如绘图过程中,中文字体和负号显示有问题,可以参照如下链接修改配置参数设置正常显示:
https://www.joinquant.com/post/441
import matplotlib.pyplot as plt
注:导入matplotlib.pyplot
import matplotlib
matplotlib.style.use('ggplot')
%matplotlib inline
注:使用ggplot样式,并且将图画在jupyter notebook中
import pandas as pd
import numpy as np
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts.plot()
注:使用pandas创建一个Series(序列),序列值是随机生成的1000个标准正态分布值,索引是从2000-1-1开始的1000个时间序列值
然后使用plot默认画图
可以看出,这个图非常不规则,因为相邻的两个值也是随机大小
import pandas as pd
import numpy as np
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()
注:这里加上了ts = ts.cumsum(),意思是返回累积值,在时间序列分析中,经常观察累积值曲线观察走势
是不是这个累积值看起来规则多了呢
df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD'))
df = df.cumsum()
plt.figure()
df.plot()
注:这里使用pandas创建了一个DataFrame(数据框,有点像excel表格那种),为什么不用刚才的Series呢?
划重点啦!因为这里DataFrame中创建了4组数据
这4组数据都是随机生成的1000个标准正态分布值
索引是从2000-1-1开始的1000个时间序列值
并且也是求他们各自的累积值并且画图
df3 = pd.DataFrame(np.random.randn(1000, 2), columns=['B', 'C']).cumsum()
df3['A'] = pd.Series(list(range(len(df))))
df3.plot(x='A', y='B')
注:使用DataFrame创建了2组数据,也是1000个标准正态分布,分别命名为B、C(就行excel中列名)
并且求累积值
再在原来的df(DataFrame的简称)(这里名字是df3)上加上一列名为A
A的值是0-999(使用df3的长度为1000,然后range被套列表生成一列数,作为x轴),y轴是B列数据(累积值),c列数据最后绘图没有用上
pandas基础绘图plot到此结束
文中所写如有谬误请指出,感谢!
http://pandas.pydata.org/pandas-docs/stable/visualization.html#
微课福利:Hellobi live |8月22日,利用 Python 建构金融数据分析平台
查看下图说明免费参加或者点击文末阅读原文参加
关注公众号,“Python爱好者社区”,回复“爬虫”即可获取崔老师爬虫免费学习视频。
为大家提供与Python相关的最新技术和资讯。
长按指纹 > 识别图中二维码 > 添加关注