1. 计算每一种的比例的百分比

import pandas as pd
from matplotlib.ticker import FuncFormatter np.random.seed(0)
df = pd.DataFrame({'Condition 1':np.random.rand(20),
'Condition 2':np.random.rand(20)*0.9,
'Condtion 3':np.random.rand(20)*1.1}) print(df.head()) fig, ax = plt.subplots()
# stacked 进行堆叠操作
df.plot.bar(ax=ax, stacked=True)
plt.show() # 设置百分比
df_ratio = df.div(df.sum(axis=1), axis=0)
fig, ax = plt.subplots()
df_ratio.plot.bar(ax=ax, stacked=True)
ax.yaxis.set_major_formatter(FuncFormatter(lambda y,_:'{:.0%}'.format(y)))
plt.show()

2. 通过pd将数据导入,进行缺失值补充,画出特征的PCA图

# 1 下载数据
url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/00383/risk_factors_cervical_cancer.csv'
df = pd.read_csv(url, na_values='?')
print(df.head())
# 2.对缺失值进行补充
from sklearn.preprocessing import Imputer
# 引入inputer() 使用均值对缺失值进行填充
impute = pd.DataFrame(Imputer().fit_transform(df))
print(impute.head())
impute.columns = df.columns
impute.index = df.index import seaborn as sns
from sklearn.decomposition import PCA
from mpl_toolkits.mplot3d import Axes3D # 3.取出样品特征, 取出Dx:Cancer
features = impute.drop('Dx:Cancer', axis=1)
y = impute['Dx:Cancer']
# 4进行PCA操作
pca = PCA(n_components=3)
X_r = pca.fit_transform(features)
# '{:.2%}'表示保留两位小数, pca.explained_variabce_ratio表示所占的比例
print('Explained variance:\nPC1{:.2%}\nPC2{:.2%}\nPC3{:.2%}'
.format(pca.explained_variance_ratio_[0],
pca.explained_variance_ratio_[1],
pca.explained_variance_ratio_[2],))
# 构造三维坐标系
fig = plt.figure()
ax = Axes3D(fig)
# 画散点图
ax.scatter(X_r[:, 0], X_r[:, 1], X_r[:, 2], c='r', cmap=plt.cm.coolwarm)
# 对三个维度的坐标进行标注
ax.set_xlabel('PC1')
ax.set_ylabel('PC2')
ax.set_zlabel('PC3') plt.show()

可视化库-Matplotlib-Pandas与sklearn结合(第四天)的更多相关文章

  1. Python数据可视化库-Matplotlib(一)

    今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废 ...

  2. Python可视化库-Matplotlib使用总结

    在做完数据分析后,有时候需要将分析结果一目了然地展示出来,此时便离不开Python可视化工具,Matplotlib是Python中的一个2D绘图工具,是另外一个绘图工具seaborn的基础包 先总结下 ...

  3. 数据分析处理库pandas及可视化库Matplotlib

    一.读取文件 1)读取文件内容 import pandas info = pandas.read_csv('1.csv',encoding='gbk') # 获取文件信息 print(info) pr ...

  4. Python可视化库Matplotlib的使用

    一.导入数据 import pandas as pd unrate = pd.read_csv('unrate.csv') unrate['DATE'] = pd.to_datetime(unrate ...

  5. python的数据可视化库 matplotlib 和 pyecharts

    Matplotlib大家都很熟悉    不谈. ---------------------------------------------------------------------------- ...

  6. python可视化库 Matplotlib 01 figure的详细用法

    1.上一章绘制一幅最简单的图像,这一章介绍figure的详细用法,figure用于生成图像窗口的方法,并可以设置一些参数 2.先看此次生成的图像: 3.代码(代码中有详细的注释) # -*- enco ...

  7. python可视化库 Matplotlib 00 画制简单图像

    1.下载方式:直接下载Andaconda,简单快捷,减少准备环境的时间 2.图像 3.代码:可直接运行(有详细注释) # -*- encoding:utf-8 -*- # Copyright (c) ...

  8. Python数据可视化库-Matplotlib(二)

    我们接着上次的继续讲解,先讲一个概念,叫子图的概念. 我们先看一下这段代码 import matplotlib.pyplot as plt fig = plt.figure() ax1 = fig.a ...

  9. 可视化库-Matplotlib基础设置(第三天)

    1.画一个基本的图 import numpy as np import matplotlib.pyplot as plt # 最基本的一个图,"r--" 线条加颜色, 也可以使用l ...

  10. Pycon 2017: Python可视化库大全

    本文首发于微信公众号“Python数据之道” 前言 本文主要摘录自 pycon 2017大会的一个演讲,同时结合自己的一些理解. pycon 2017的相关演讲主题是“The Python Visua ...

随机推荐

  1. HDU 4522 (恶心建图)

    湫湫系列故事——过年回家 Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  2. spring的懒加载和depends-on

    ①延迟初始化Bean(惰性初始化Bean)是指不提前初始化Bean,而是只有在真正使用时才创建及初始化Bean.  配置方式很简单只需在<bean>标签上指定 “lazy-init” 属性 ...

  3. SpringMvc中@ModelAttribute注解的使用

    一.绑定请求参数到指定对象 public String test1(@ModelAttribute("user") UserModel user) 只是此处多了一个注解@Model ...

  4. Eclipse CDT 配置C /C ++ 标准库 (UBUNTU 12 )

    http://blog.csdn.net/wudiwo/article/details/7682320

  5. ossim中Spot5模型bug修复

    ossim中Spot5模型在读取像素视线角时存在一个严重的bug,导致某些点的视线角提取错误. 下面是ossim中getPixelLookAngleX 函数的代码: ossimSpotDimapSup ...

  6. bzoj1075

    题意: 给你一个地图,问从x1,y1->x2,y2,要走的路最短,问 耗油和速度 题解: 首先把他们转到左下角->右上角 然后只能往上或往下 考虑到可能有小数 所以都乘上他们的公倍数 然后 ...

  7. 转载-LVS的三种工作模式

    来源地址:http://www.uml.org.cn/zjjs/201211124.asp 1.lvs简介         lvs是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立 ...

  8. Kotlin Reference (十一) Visibility Modifiers

    most from reference 类,对象,接口,构造函数,函数,属性及setters具有可见性修饰符(getter总是具有和属性一样的可见性).在kotlin中油4个可视化修饰符:privat ...

  9. PyalgoTrade 绘图(七)

    PyAlgoTrade使得绘制策略执行变得非常简单 from pyalgotrade import strategy from pyalgotrade.technical import ma from ...

  10. HDU4819 Mosaic【树套树】

    LINK 题目大意 给你一个\(n*n\)矩阵,每个点有初始权值 q次询问每次把一个矩形的中心节点变成这个矩形中最大值和最小值的平均数 思路 很显然的树套树啊 就是一开始傻逼了没想到怎么去维护这个东西 ...