python pandas做数据分析视图分析matplotlib,seaborn模块使用
2018-01-09 14:23
1001 查看
#!/usr/bin/env python # encoding: utf-8 """ @version: v1.0 @author: W_H_J @license: Apache Licence @contact: 415900617@qq.com @site: @software: PyCharm @file: flowerPlot.py @time: 2018/1/5 18:59 @describe:鸢尾花数据 -使用pandas做分析,用mayploylib模块作图 """ import sys reload(sys) sys.setdefaultencoding("utf-8") import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set(style="white", color_codes=True) def func(): url_2 = 'https://raw.github.com/pydata/pandas/master/pandas/tests/data/iris.csv' iris = pd.read_csv(url_2) iris1 = iris.copy() iris1['Id'] = range(0, len(iris['Name'])) print iris1.head() print iris.head() print iris['Name'].value_counts() # 统计种类数量 # 使用 .plot 做散点图 iris.plot(kind="scatter", x="SepalLength", y="SepalWidth", color='r') # 数据为萼片的长和宽 scatter散点图 # 开始使用seaborn了它能同时显示直方图 sns.jointplot(x="SepalLength", y="SepalWidth", data=iris, size=5) # 我们还可以用seaborn's FacetGrid 标记不同的种类噢 sns.FacetGrid(iris, hue="Name", size=5)\ .map(plt.scatter, "SepalLength", "SepalWidth")\ .add_legend() # hue英文是色彩的意思 # 注意这里的plt哦 # 这图可以变现出密度的分布 --小提琴图 sns.violinplot(x="Name", y="PetalLength", data=iris, size=6) # 通过这个曲线图可以看出不同特征值时的分布密度 sns.FacetGrid(iris, hue="Name", size=6).map(sns.kdeplot, "PetalLength").add_legend() # pairplot显示不同特征之间的关系 sns.pairplot(iris1.drop("Id", axis=1), hue="Name", size=3) # 修改参数dige_kind sns.pairplot(iris1.drop("Id", axis=1), hue="Name", size=3, diag_kind="kde") plt.show() # corr(x, y) # 相关系数,用来刻画二维随机变量两个分量间相互关联程度 # -1 < corr(x, y) < 1, 也就是说相关系数介于 - 1到1之间 # corr(x, y) = 0 则称X, Y不相关,不相关是指X, Y没有线性关系,但也有可能有其他关系,比如平方关系,立方关系等 # corr(x, y) = 1, 则称X与Y完全正相关,corr(x, y) = -1, 则称X, Y完全负相关 print iris.corr() # 在多变量概率统计中,散布矩阵是用来估计多维正态分布协方差的统计量。 pd.plotting.scatter_matrix(iris, alpha=0.2, figsize=(6, 6), diagonal='kde') plt.show() # print iris.boxplot() # 箱图 DataFrame提供了boxplot方法可以用来画箱图。 iris.boxplot(by='Name', figsize=(8, 8)) plt.show() # 直方图和概率密度分布 print iris.ix[:, :-1].head() iris.ix[:, :-1].hist() # hist直方图 iris.plot(kind='kde') # kde# 密度图 plt.show() # 多变量的可视化 pd.plotting.radviz(iris, 'Name') # 径向坐标可视化(radviz)径向坐标可视化是基于弹簧张力最小化算法 plt.show() pd.plotting.andrews_curves(iris, 'Name') # 调和曲线图 调和曲线图的思想和傅立叶变换十分相似,是根据三角变换方法将 p 维空间的点映射到二维平面上的曲线上 plt.show() pd.plotting.parallel_coordinates(iris, 'Name') # 轮廓图的思想非常简单、直观,它是在横坐标上取 p 个点, # 依次表示各个指标 (即变量);横坐标上则对应各个指标的值 # (或者经过标准化变换后的值),然后将每一组数据对应的点依次连接即可。 plt.show() class Main(): def __init__(self): func() if __name__ == "__main__": Main() # http://nbviewer.jupyter.org/gist/cloga/9171281#%E5%9F%BA%E6%9C%AC%E7%94%BB%E5%9B%BE%E5%91%BD%E4%BB%A4[/code]
相关文章推荐
- 【python数据挖掘课程】十二.Pandas、Matplotlib结合SQL语句对比图分析
- 基于Python的数据可视化 matplotlib seaborn pandas
- 学习Python数据分析(1)----numpy,Pandas,matplotlib,scipy 的安装
- 【python数据挖掘课程】十二.Pandas、Matplotlib结合SQL语句对比图分析
- python——数据可视化:matplotlib,seaborn,pandas
- Python seaborn matplotlib 对数据进行图表分析
- python数据挖掘课程 十一.Pandas、Matplotlib结合SQL语句可视化分析
- python3.6中安装numpy,pandas,scipy,scikit_learn,matplotlib等数据分析工具
- python数据挖掘课程 十二.Pandas、Matplotlib结合SQL语句对比图分析
- 使用python中的matplotlib进行绘图分析数据
- matplotlib -- 使用python中的matplotlib进行绘图分析数据
- python数据分析学习笔记-Numpy-Matplotlib-Pandas
- Python+pandas+matplotlib数据分析与可视化案例(附源码)
- Python点滴(三)—pandas数据分析与matplotlib画图
- 使用python中的matplotlib进行绘图分析数据
- Python数据分析与挖掘实战(Pandas,Matplotlib常用方法)
- Python进阶(三十九)-数据可视化の使用matplotlib进行绘图分析数据
- 【利用python进行数据分析-学习记录】python-matplotlib中Basemap插件的安装
- python数据分析之(6)简单绘图matplotlib.pyplot
- 【python数据挖掘课程】十.Pandas、Matplotlib、PCA绘图实用代码补充