前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于 Python 的数据可视化

基于 Python 的数据可视化

作者头像
小莹莹
发布2018-04-23 14:28:04
1.4K0
发布2018-04-23 14:28:04
举报
文章被收录于专栏:PPV课数据科学社区

来源:bea_tree 英文:kaggle 链接:blog.csdn.net/bea_tree/article/details/50757338

原文采用了kaggle上iris花的数据,数据来源从上面的网址上找噢

如果没有seaborn库 安装方法如下

http://www.ithao123.cn/content-10393533.html

正式开始了~~~

# 首先载入pandas import pandas as pd # 我们将载入seaborn,但是因为载入时会有警告出现,因此先载入warnings,忽略警告 import warnings warnings.filterwarnings("ignore") import seaborn as sns import matplotlib.pyplot as plt sns.set(style="white", color_codes=True) # 载入数据 iris = pd.read_csv("../input/Iris.csv") # 数据现在为 DataFrame格式 # 用head函数看一下数据结构啥样 iris.head()

数据结构就这样:

# 让我们用counts功能看下一共有多少种花 iris["Species"].value_counts()

结果是:

Iris-setosa 50 Iris-virginica 50 Iris-versicolor 50 Name: Species, dtype: int64

1.

# 使用 .plot 做散点图 iris.plot(kind="scatter", x="SepalLengthCm", y="SepalWidthCm")#数据为萼片的长和宽 结果如下

2.

# 开始使用seaborn了它能同时显示直方图噢 sns.jointplot(x="SepalLengthCm", y="SepalWidthCm", data=iris, size=5)

3 神奇的还在下面:

# 我们还可以用seaborn's FacetGrid 标记不同的种类噢 sns.FacetGrid(iris, hue="Species", size=5) #hue英文是色彩的意思 .map(plt.scatter, "SepalLengthCm", "SepalWidthCm") #注意这里的plt哦 .add_legend()

4 箱线图!

# Seaborn中的boxplot,可以画箱线图,可以看出不同种类的分布情况 sns.boxplot(x="Species", y="PetalLengthCm", data=iris)

5、

# 利用striplot可以锦上添花,加上散点图 # # 使振动值jitter=True 使各个散点分开,要不然会是一条直线 # # 注意这里将坐标图用ax来保存了哦,这样第二次才会在原来的基础上加点 ax = sns.boxplot(x="Species", y="PetalLengthCm", data=iris) ax = sns.stripplot(x="Species", y="PetalLengthCm", data=iris, jitter=True, edgecolor="gray")

6、小提琴图

# 这图可以变现出密度的分布 sns.violinplot(x="Species", y="PetalLengthCm", data=iris, size=6)

7、kdeplot

# 通过这个曲线图可以看出不同特征值时的分布密度 sns.FacetGrid(iris, hue="Species", size=6) .map(sns.kdeplot, "PetalLengthCm") .add_legend()

8.大招来了

# pairplot显示不同特征之间的关系 sns.pairplot(iris.drop("Id", axis=1), hue="Species", size=3)

9、中间对角线的图形也可以用kde显示哦

# 修改参数dige_kind sns.pairplot(iris.drop("Id", axis=1), hue="Species", size=3, diag_kind="kde")

10.现在是pandas表现的时间了

# 用Pandas 快速做出每个特征在不同种类下的箱线图 iris.drop("Id", axis=1).boxplot(by="Species", figsize=(12, 6))

11.调和曲线图 Andrew Curves

首先啥是Andrew curves呢 看维基百科

https://en.wikipedia.org/wiki/Andrews_plot

他是将高维的点 化为二维的曲线,曲线是一条傅里叶函数的样子,参数项为不同的特征值,臆想出来了自变量t,这样每个点都是一条曲线

# 画图的函数在下面,我们会发现相同种类的线总是缠绵在一起,可以和聚类混在一起噢,事实上他们与欧氏距离是有关系的 from pandas.tools.plotting import andrews_curves andrews_curves(iris.drop("Id", axis=1), "Species")

12 轮廓图

https://en.wikipedia.org/wiki/Parallel_coordinates

# 轮廓图也是看高维数据的一种方法,将不同的特征放在横坐标,然后将各点的特征值放在纵坐标就可以了 from pandas.tools.plotting import parallel_coordinates parallel_coordinates(iris.drop("Id", axis=1), "Species")

13 radviz

http://www.doc88.com/p-912968623585.html

# 这也是一种将高维点表现在二维平面的方法,具体作图方法应该在上面的网址上应该有 from pandas.tools.plotting import radviz radviz(iris.drop("Id", axis=1), "Species")

暂时就是这些,希望会对大家有帮助

END.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PPV课数据科学社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档