python数据可视化之pandas基础图表(一)

pandas可以做的不仅仅是加载和转换数据,它还可以可视化数据。比起一大堆的matplotlib代码,使用pandas内置的plot 函数绘图更简洁。
下面通过简单的例子掌握pandas基本的绘图方法。

了解数据

数据源来自kaggle-葡萄酒杂志评论。

import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
# 葡萄酒杂志评论数据
reviews = pd.read_csv("kaggle/winemag-data_first150k.csv", index_col=0)
head = reviews.head(3)
image.png
柱形图

柱形图可以说是最简单的数据可视化。通过柱子来表现数据的高度,进而比较不同数据之间的差异,一眼可以看到数据量的大小对比。在本例子中展现top10葡萄酒产量的省份对比

reviews['province'].value_counts().head(10).plot.bar()
产量对比.png

从上图中可以看出California的产量远远高于世界其他省份的产量,我们可能会问,California葡萄酒占总葡萄酒的百分比是多少?这个柱形图告诉我们绝对值,但知道相对比例更有用。

(reviews['province'].value_counts().head(10)/len(reviews)).plot.bar()
占比.png

从上图可以得知California出产的葡萄酒几乎占葡萄酒杂志评论的三分之一。
柱形图非常灵活:高度可以表示任何东西,只要它是一个数字。每个栏可以代表任何东西,只要它是一个分类。
上例的中省份分类是一个定类数据(没有内在固有大小或高低顺序),还有一种分类数据是定序数据,它相对于定类数据类型来说存在一种程度有序现象,例如下例中葡萄酒不同评分的评论数量。

reviews['points'].value_counts().sort_index().plot.bar()
不同评分的评论数.png

从上图可看到,每个葡萄酒的总分都在80到100分之间。有20个分数值类别,柱状图刚好可以完全展示这些值。如果评分是0-100呢?恐怕无法完全展示每个类别的情况,这时,我们需要使用折线图。

折线图
reviews['points'].value_counts().sort_index().plot.line()
不同评分的评论数趋势.png
面积图

当只绘制一个变量时,面积图和折线图之间的区别主要是可视化的。在这种情况下,它们可以互换使用。

reviews['points'].value_counts().sort_index().plot.area()
面积图.png
直方图

直方图是用一系列等宽不等高的长方形来绘制,宽度表示数据的范围间隔,高度表示频数或者频率。
查看葡萄酒价格分布

reviews['price'].plot.hist()
价格分布1.png

从上图看价格主要分布在0~200,由于高位价格偏差,导致价格区间过大,看不出问题。

len(reviews[reviews['price'] > 200])/len(reviews)

通过计算,发现价格在200以上的占比只有 0.005,可以忽略,处理一下数据偏差,重新查看price<200时的价格数量分布

reviews[reviews['price'] < 200]['price'].plot.hist()
价格分布2.png
总结
柱形图 折线图 面积图 直方图
df.plot.bar() df.plot.line() df.plot.area() df.plot.hist()
适合展示少量的定类数据。 适用于有序数据和区间数据 同折线图 适合展示区间数据

相关资料
https://www.kaggle.com/residentmario/univariate-plotting-with-pandas

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容

  • 图表思维是数据分析思维中的最简单和最基本的思维,主要是通过图形和表格对数据进行转化。 文字有局限 看到这段话,你会...
    keeya阅读 5,662评论 1 21
  • 定义 数据可视化的目的其实就是直观地展现数据,例如让花费数小时甚至更久才能归纳的数据量,转化成一眼就能读懂的指标;...
    Kemr阅读 3,113评论 0 20
  • 因为写文章遇到了瓶颈,我就拿出了大咖的秘籍第一条——读书,给自己充电。 图书馆藏书丰富,我转了半天却无从下手,走过...
    莲花静开阅读 1,391评论 24 29
  • 刚接通视频,M一边捣鼓着手机一边大声地嚷嚷叫着买手机,然后眼睛一瞥看到X沉默且些许无奈的神情,低垂着头,手撑在桌子...
    三人行之大宇阅读 275评论 0 0
  • 我知道,那些夏天,就像青春一样回不来。 窗外风景依旧。我们一直在路上,从这个目的地,到下一个目的地,然后再为了下一...
    后海不是海Ada阅读 230评论 0 1