描述性统计分析与绘图

import pandas as pd

pandas 是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法

import numpy as np

NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))

import matplotlib.pyplot as plt

Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形

import matplotlib

import seaborn as sns

Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充

import os

#get_ipython().magic('matplotlib inline')

为了让图直接在notebook中直接显示

os.chdir(r'D:\Python_book\4Describe')

修改工作目录

snd = pd.read_csv("sndHsPr.csv") 读取文件

snd["all_pr2"]=snd[["price","AREA"]].apply(lambda x:x[0]*x[1], axis = 1 )

按行相乘;

语法:

lambda [arg1[, arg2, ... argN]]: expression

lambda只是一个表达式,函数体比def简单很多。

lambda的主体是一个表达式,而不是一个代码块

apply(func[, nkw][, kw])

使用0值表示沿着每一列或行标签\索引值向下执行方法

使用1值表示沿着每一行或者列标签模向执行对应的方法

下图代表在DataFrame当中axis为0和1时分别代表的含义:

snd.head()

把dist变量重新编码为中文,比如chaoyang改为朝阳区

district = {'fengtai':'丰台区','haidian':'海淀区','chaoyang':'朝阳区','dongcheng':'东城区','xicheng':'西城区','shijingshan':'石景山区'}

大多数的for循环可以用map来代替,用法是:map(func,seq),对seq中的每个元素进行操作,具体什么操作在func里定义。

from pylab import mpl

mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体

mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

连续变量的分布与集中趋势

连续变量的离散程度

极差、方差、标准差、平均绝对偏差

数据分布的对称与高矮

统计制图

表分析:分析两个分类变量的联合分布情况,提供每个单元格的频次、百分比和边沿分布情况

zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

attr, value = Map.cast(snd_price)

map = Map('北京各区房价', width = 1200, height = 600)

map.add('', attr, value, maptype = '北京', is_visualmap = True, visual_range=[min_, max_], visual_text_color = '#000', is_label_show =True)

map.render()

运行后,在代码文件所在目录生成一个render的html文件,用浏览器打开

自从 0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。下面介绍如何安装。

全球国家地图: echarts-countries-pypkg (1.9MB): 世界地图和 213 个国家,包括中国地图

中国省级地图: echarts-china-provinces-pypkg (730KB):23 个省,5 个自治区

中国市级地图: echarts-china-cities-pypkg (3.8MB):370 个中国城市

需要这些地图的朋友,可以装 pip 命令行:

pip install echarts-countries-pypkg

pip install echarts-china-provinces-pypkg

pip install echarts-china-cities-pypkg

figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)

num:图像编号或名称,数字为编号 ,字符串为名称

figsize:指定figure的宽和高,单位为英寸;

dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张

facecolor:背景颜色

edgecolor:边框颜色

frameon:是否显示边框

subplot语法

subplot(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw)

add_subplot新增子图

add_subplot的参数与subplots的相似

ax1 = fig.add_subplot(111)

ax1.bar(x,GDP)

ax1.set_ylabel('GDP')

ax1.set_title("GDP of China(2000-2017)")

ax1.set_xlim(2000,2018)

ax2 = ax1.twinx()

ax2.plot(x,GDPCR,'r')

ax2.set_ylabel('Increase Ratio')

ax2.set_xlabel('Year')

import matplotlib.pyplot as plt

x = list(gdp.year)

GDP = list(gdp.GDP)

GDPCR = list(gdp.GDPCR)

fig = plt.figure()

ax1 = fig.add_subplot(1,1,1)

ax1.bar(x,GDP)

ax1.set_ylabel('GDP')

ax1.set_title("GDP of China(2000-2017)")

ax1.set_xlim(2000,2018)

#ax1.plot(x,GDP)

ax2 = ax1.twinx()

ax2.plot(x,GDPCR,'r')

ax2.set_ylabel('Increase Ratio')

ax2.set_xlabel('Year')

plt.show()

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181121A21KQI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券