Python数据分析_绘图matplotlib

酷

统计一年中每个月,人员的变动情况。

尝试使用Python实现简单的数据分析。

动手开始实践。

1)

从数据库里查询原始数据,导出成csv文件

第一步读取数据,pandas  

pd.read_csv(文件路径)。开始忘记指定编码。增加编码参数 ‘GBK’。方式有问题,忘了加 encoding=

好Python DataFrame类型的数据有了,中文也正常显示了。

2)

试试查询,显示指定列。提示列名不是索引index。

记得,列名大小写敏感。需要严格按列名称的大小写指定列。

#icd7为第一步导入的DataFrame类型数据变量名。

icd7.groupby(icd7.AAE041).size()

#还可以增加过滤条件

icd7[icd7['AAE041']>=201603].groupby(icd7.AAE041).size()

3)

将数据用图形展示

案例使用的语句是

car.groupby(car.年月.map(lambda x:x.month)).销量.sum().plot(kind='bar',title='汽车市场月度销量汇总')

 plot。

输入语句后,提示需要先引入 matplotlib模块。OK,那就引入先,OH,再提示无此模块。



 得先安装matplotlib所需模块。

网上找了一个,原文

使用NumPy进行学习统计计算时是枯燥的,大量的数据令我们很头疼,所以我们需要把它图形化显示。 
Matplotlib是一个Python的图形框架,类似于MATLAB和R语言。

Matplotlib的官网地址是 http://matplotlib.org/ ,下载地址为 http://matplotlib.org/downloads.html,选择对应的版本即可安装,我选择的版本为 matplotlib-1.3.1.win32-py2.7.exe。

安装NumPy1.7。

 按下载地址,找到官网描述

Windows
If you don’t already have Python installed, we recommend using one of the scipy-stack compatible Python distributions such as WinPython, Python(x,y), Enthought Canopy, or Continuum Anaconda, which have matplotlib and many of its dependencies, plus other useful packages, preinstalled.

For standard Python installations, install matplotlib using pip:

python -m pip install -U pip setuptools
python -m pip install matplotlib

 不得不说,这个pip命令安装的方式真的太方便了。自动下载相关module,安装,不用重新打开shell即时生效。



 一次就安装成功。这酸爽。

然后成功引入 matplotlib.pyplot. 内心一点小激动啊,用命令绘图,人生第一次啊。。满心期待,图形会长啥样

小心翼翼的输入一行绘图命令,按每月统计人员变动数量

icd7.groupby(icd7.AAE041).size().plot(kind='bar',title='每个月人员变动情况')

咳咳。。蹬蹬瞪,,报错了,my de god

看了错误提示,应该是编码错误的问题。网上找解决办法。顺利找到

今天做网页到了测试和数据库交互的地方,其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是Python的str默认是ascii编码,和unicode编码冲突,就会报这个标题错误。那么该怎样解决呢?
通过搜集网上的资料,自己多次尝试,问题算是解决了,在代码中加上如下几句即可。
import sys
reload(sys)
sys.setdefaultencoding('utf8')

非常有效。成功搞定。



 然而,图呢,图呢,怎么没蹦出来。

只返回给我一串这样的东东

<matplotlib.axes._subplots.AxesSubplot object at 0x000000000725BD30>

不着急,要显示你所绘制的图形,请输入 plt.show()

这不,图出现了



 

Python绘图初体验,完成。历时一个小时多。

猜你喜欢

转载自yhzhangdota.iteye.com/blog/2384205