IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python数据可视化 | 1、数据可视化流程 -> 正文阅读

[Python知识库]Python数据可视化 | 1、数据可视化流程

1、数据准备

  • 数据规模:数据分组、数据采样(处理大数据时候尤为需要)
  • 数据类型:数值数据、分类数据(一定要对数据结构特别清楚:连续?离散?有序吗?)
  • 数据规模:取值异常、数据缺失

在这里插入图片描述
数据分组 groupby

# DataFarme
df = pd.DataFrame({'key1':['a','a','b','b','a'],
                  'key2':['one','two','one','two','one'],
                  'data1':np.random.normal(size=5),
                  'data2':np.random.normal(size=5)})
df

在这里插入图片描述

df['data1'].groupby(df['key1']).mean()

在这里插入图片描述
数据采样 sample (处理大数据时尤为需要)

import random
x = np.arange(1,100)
y = random.sample(list(x),10)# 采样
y

在这里插入图片描述
取值异常、数据缺失

  1. 数据准备
  2. 确定图表

NA处理 dropna fillna

# 去掉异常
x = np.arange(0,100)
y = x[(x>90)|(x<100)]
y

在这里插入图片描述

# 替换异常
y = x
for i in np.arange(0,100):
    if i >= 0 and i<=90:
        y[i] = 0
    else:
        y[i] = i
y

在这里插入图片描述

np.array([0 if i>= 10 and i <= 90 else i for i in range(0,100)])

在这里插入图片描述

# NA处理
from numpy import nan
data = pd.Series([1,nan,2,nan,3,nan])
data

在这里插入图片描述

data.dropna() # 删除空值

在这里插入图片描述

data.fillna(4) # 用4替换空值

在这里插入图片描述

2、确定图表

数据可视化里通常面临的三类问题:

  • 关联分析:散点图,曲线图(scatter,plot)
  • 分布分析:灰度图,密度图(hist,gaussian_kde,plot)
  • 分类分析:柱状图,箱式图(bar,boxplot)

关联分析

from sklearn import datasets
import matplotlib.pyplot as plt
import seaborn as sns
bc = datasets.load_breast_cancer()
df = pd.DataFrame(bc.data,columns=bc.feature_names)
sns.lmplot('mean concavity','mean symmetry',df,
              height=5,aspect=1.5,fit_reg=True,order=4)

在这里插入图片描述

sns.lmplot('mean concavity','mean concave points',df,
              height=5,aspect=1.5,fit_reg=True,order=4)

在这里插入图片描述
分布分析

plt.figure(figsize=(7.5,5))
sns.distplot(df['mean concavity'],bins=10,kde=False)
plt.ylabel('Histogram')
plt.twinx()
sns.kdeplot(df['mean concavity'],cumulative=False)
plt.ylabel('KDE')

在这里插入图片描述
分类分析

plt.figure(figsize=(7.5,5))
sns.boxplot(x='mean concavity',data=df)

在这里插入图片描述

df['mean concavity'].describe()

在这里插入图片描述

3、分析迭代

  • 确定拟合模型:OLS, fit OLS = 最小二乘;fit = 拟合
  • 分析拟合性能:summary_table统计学汇总
  • 确定数据分布:hist
  • 确定重点区间:quartile 分布的上下四分位数,以及各分位数之间的区间
sns.lmplot('mean concavity','mean concave points',df,
              height=5,aspect=1.5,fit_reg=True,order=1)

在这里插入图片描述

plt.figure(figsize=(7.5,5))
sns.distplot(df['mean concavity'],bins=10,kde=False)
plt.ylabel('Histogram')
plt.twinx()
sns.kdeplot(df['mean concavity'],kernel = 'gau',cumulative=False)
# sns.kdeplot(df['mean concavity'],kernel = 'gau',cumulative=False)
plt.ylabel('KDE')

在这里插入图片描述

plt.figure(figsize=(7.5,5))
sns.boxplot(x='mean concavity',data=df)

在这里插入图片描述

  • 箱型图Boxplot
    观察分布的对称性和偏性
    在这里插入图片描述
    在这里插入图片描述
    箱型图的局限性
    在这里插入图片描述
    对数据的本质理解会产生偏差,不同的数据集可能得到相同的箱型图。
"""
Edward Tufte uses this example from Anscombe to show 4 datasets of x
and y that have the same mean, standard deviation, and regression
line, but which are qualitatively different.
"""
x=[10,8,13,9,11,14,6,4,12,7,5] 
x4=[8,8,8,8,8,8,8,19,8,8,8]

y1=[8.04,6.95,7.58,8.81,8.33,9.96,7.24,4.26,10.84,4.82,5.68] 
y2=[9.14,8.14,8.74,8.77,9.26,8.10,6.13,3.10,9.13,7.26,4.74] 
y3=[7.46,6.77,12.74,7.11,7.81,8.84,6.08,5.39,8.15,6.42,5.73] 
y4=[6.58,5.76,7.71,8.84,8.47,7.04,5.25,12.50,5.56,7.91,6.89]
df=pd.DataFrame({'x':x,'y1':y1,'y2':y2,'y3':y3,'y4':y4,})
df[['y1','y2','y3','y4']].describe().loc['mean':'std']

分析迭代的要素,不仅依赖于数据本身,也依赖人的分析角度。

4、输出结论

  • 养成看图说话的习惯
  • 提出一个好问题,画出一个好图像,给出一个好结论
    在这里插入图片描述
    结论:
    (1)人均GDP和石油消耗量成正比
    (2)人均GDP和石油消耗量与国家人口数量没有关系

5、小结

在这里插入图片描述

6、作业

绘制出Edward Tufte的散点图和一维拟合曲线,如下所示。(答案在下一篇文章公布)
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-22 13:29:59  更:2021-08-22 13:31:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:18:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码