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

  1. import pandas as pd
  2. from matplotlib.ticker import FuncFormatter
  3.  
  4. np.random.seed(0)
  5. df = pd.DataFrame({'Condition 1':np.random.rand(20),
  6. 'Condition 2':np.random.rand(20)*0.9,
  7. 'Condtion 3':np.random.rand(20)*1.1})
  8.  
  9. print(df.head())
  10.  
  11. fig, ax = plt.subplots()
  12. # stacked 进行堆叠操作
  13. df.plot.bar(ax=ax, stacked=True)
  14. plt.show()
  15.  
  16. # 设置百分比
  17. df_ratio = df.div(df.sum(axis=1), axis=0)
  18. fig, ax = plt.subplots()
  19. df_ratio.plot.bar(ax=ax, stacked=True)
  20. ax.yaxis.set_major_formatter(FuncFormatter(lambda y,_:'{:.0%}'.format(y)))
  21. plt.show()

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

  1. # 1 下载数据
  2. url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/00383/risk_factors_cervical_cancer.csv'
  3. df = pd.read_csv(url, na_values='?')
  4. print(df.head())
  5. # 2.对缺失值进行补充
  6. from sklearn.preprocessing import Imputer
  7. # 引入inputer() 使用均值对缺失值进行填充
  8. impute = pd.DataFrame(Imputer().fit_transform(df))
  9. print(impute.head())
  10. impute.columns = df.columns
  11. impute.index = df.index
  12.  
  13. import seaborn as sns
  14. from sklearn.decomposition import PCA
  15. from mpl_toolkits.mplot3d import Axes3D
  16.  
  17. # 3.取出样品特征, 取出Dx:Cancer
  18. features = impute.drop('Dx:Cancer', axis=1)
  19. y = impute['Dx:Cancer']
  20. # 4进行PCA操作
  21. pca = PCA(n_components=3)
  22. X_r = pca.fit_transform(features)
  23. # '{:.2%}'表示保留两位小数, pca.explained_variabce_ratio表示所占的比例
  24. print('Explained variance:\nPC1{:.2%}\nPC2{:.2%}\nPC3{:.2%}'
  25. .format(pca.explained_variance_ratio_[0],
  26. pca.explained_variance_ratio_[1],
  27. pca.explained_variance_ratio_[2],))
  28. # 构造三维坐标系
  29. fig = plt.figure()
  30. ax = Axes3D(fig)
  31. # 画散点图
  32. ax.scatter(X_r[:, 0], X_r[:, 1], X_r[:, 2], c='r', cmap=plt.cm.coolwarm)
  33. # 对三个维度的坐标进行标注
  34. ax.set_xlabel('PC1')
  35. ax.set_ylabel('PC2')
  36. ax.set_zlabel('PC3')
  37.  
  38. 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. Java中字符串比较的注意点

    Java中必须使用string1.equals(string2)来进行判断 补充如果: string s1=new String("Hello"); string s2=new S ...

  2. Granting and Managing Item Level Permission using SharePoint2013 Designer Workflow

    https://gnanasivamgunasekaran.wordpress.com/2015/12/29/granting-and-managing-item-level-permission-u ...

  3. 微任务、宏任务与Event-Loop

    首先,JavaScript是一个单线程的脚本语言.所以就是说在一行代码执行的过程中,必然不会存在同时执行的另一行代码,就像使用alert()以后进行疯狂console.log,如果没有关闭弹框,控制台 ...

  4. Fragment在Activity中跳转,实现类似新闻标题跳转新闻内容功能

    1.准备的工作,新闻数据类,新闻数据适配器,适配器的布局: News.java package com.example.zps.fourfragmentbestpractice; /** * Crea ...

  5. zz VS2010配色方案

    http://studiostyles.info 这个网站专门为vs 2005, vs 2008, vs2010提供配色方案下载. 网站首页罗列出大量的配色方案,都附有缩略图以及rated(评估),d ...

  6. Nginx实践01-ngnix编译安装-测试

    1.下载nginx安装包 下载地址:http://nginx.org/en/download.html(里面有nginx各个版本) 解压到指定目录: 解压出来的目录简单介绍: src:软件的所有源代码 ...

  7. RF/GBDT/XGBoost/LightGBM简单总结(完结)

    这四种都是非常流行的集成学习(Ensemble Learning)方式,在本文简单总结一下它们的原理和使用方法. Random Forest(随机森林): 随机森林属于Bagging,也就是有放回抽样 ...

  8. Qt SD卡 文件系统挂载、文件预览

    /********************************************************************************** * Qt SD卡 文件系统挂载. ...

  9. Codeforces 868F. Yet Another Minimization Problem【决策单调性优化DP】【分治】【莫队】

    LINK 题目大意 给你一个序列分成k段 每一段的代价是满足\((a_i=a_j)\)的无序数对\((i,j)\)的个数 求最小的代价 思路 首先有一个暴力dp的思路是\(dp_{i,k}=min(d ...

  10. Win2D 中的游戏循环:CanvasAnimatedControl

    Win2D 是 DirectX 的一个高层封装,提供了极大 DirectX 性能的同时,又具有很好用的 API 设计. 用 Win2D 除了能做出高性能的视觉效果之外,还可以轻而易举地搭建一个游戏循环 ...