爬虫老司机手把手教你如何分析用户数据|Python 数据分析打怪升级之路 day05:数据规范化这样做才规范数据可视化十大图表
Posted 夜斗小神社
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫老司机手把手教你如何分析用户数据|Python 数据分析打怪升级之路 day05:数据规范化这样做才规范数据可视化十大图表相关的知识,希望对你有一定的参考价值。
数据分析打怪升级进度:day05
哈喽,大家好啊,欢迎来到小夜斗的数据分析频道!
大家可以叫我小夜斗:“一枚想要做python领域强者的小萌新”
往期精彩回顾:
【如何3秒钟看出一个人的python实力|Python 数据分析打怪升级之路 day04】:手把手教你如何分析用户数据、数据分析基本概念
【如何3秒钟看出一个人的python实力|Python 数据分析打怪升级之路 day03】:最简介Python基础、Numpy基础、pandas基础 看完后仍然心有余悸
【Python 数据分析打怪升级之路 day02】:行之有效的学习方法、数据挖掘核心步骤
【Python 数据分析打怪升级之路 day01】sklearn进行数据预处理数据: 加载、划分、转换、降维
如果大家和小夜斗一起打卡学完这个数据分析系列,那以后在数
据分析领域遇到问题那岂不是手拿把掐!
看完小夜斗的这篇笔记,你将学会如何进行数据变换、了解常用的可视化工具以及种类大全
怎么样,要不要考虑点赞、关注、收藏一下啊,日后成大佬!
一:数据变换
小夜斗今天从朋友那里得到了一个小道消息:“隔壁老王儿子考了90分”,“隔壁老刘加女儿考了60分”,但是隔壁老王的儿子却被暴揍一顿!
从这里可以看出来,老王和老刘的子女考试的内容不一样、满分不一样,因此成绩不能直接根据高低大小比较,我们需要通过数据变换对数据进行探索和相关性分析!
(一):常见的数据变换方法:
- 数据平滑:去除噪声,数据离散化(聚类和回归)
- 数据聚集:将数据进行汇总
- 数据概化:提高数据特征维度,比如百事可乐可以叫做饮料
- 数据规范化:将数据转换到某一个区间(Z-score规范化)
- 属性构造:通过现有属性构造新的属性
(二):频率最高的数据规范方法
Min-max 规范化:将数据映射到[0,1]区间中
data = (原始数据 - 极小值)/ (极大值 - 极小值)
#coding:utf-8
from sklearn import preprocessing
import numpy as np
# 原始数据
x = np.array([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])
print(x)
# [0,1]规范
std_x = preprocessing.MinMaxScaler() # 实例化规范对象
std_x_data = std_x.fit_transform(x) # 将规范化方法应用于x
print(std_x_data)
Z-Score规范化:将数据用相同标准进行比较
data = (原始数据 - 均值)/ 标准差
#coding:utf-8
from sklearn import preprocessing
import numpy as np
# 原始数据
x = np.array([[1., 2., 3.], [4., 5., 6.], [7., 8., 9.]])
print(x)
# Z-score规范
std_x = preprocessing.scale(x) # 直接规范化对象
print(std_x)
二:数据可视化重用图表和工具
我们常用的可视化视图超过 20
种,分别包括:文本表、热力图、地图、符号地图、饼图、水平条、堆叠条、并排条、树状图、圆视图、并排圆、线、双线、面积图、双组合、散点图、直方图、盒须图、甘特图、靶心图、气泡图等
- 折线图:随时间变化趋势
- 散点图:两个或以上变量的关系
- 饼图:部分占整体百分比
- 分别:多个变量分别情况
两款常用商业数据分析工具:Tableau、PowerBI
可视化大屏工具:DataV、FineReport
前端可视化组件:Canvas、SVG、WebGL
Python数据可视化:Matplotlib、Seaborn
三:Python绘制常用图表
(一):matplotlib绘制散点图(scatter plot)
# marker属性:"x" ">" "o"
plt.scatter(x_list,y_list,marker='x')
#coding:utf-8
import matplotlib.pyplot as plt
import random
# 原始数据
x_list = []
y_list = []
for i in range(0, 1000):
x = random.random()
y = random.random()
x_list.append(x)
y_list.append(y)
# 散点图
plt.scatter(x_list,y_list,marker='x')
# 展现
plt.show()
(二):seaborn绘制散点图
传入的data数据一般为pandas处理后的数据,如代码所示
# 用Seaborn绘制散点图
df = pd.DataFrame('x':x, 'y':y)
sns.jointplot(x="x", y="y", data=df, kind="scatter")
#coding:utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 数据准备
N = 1000
x = np.random.randn(N)
y = np.random.rand(N)
# 用Seaborn绘制散点图
df = pd.DataFrame('x':x, 'y':y)
sns.jointplot(x="x", y="y", data=df, kind="scatter")
plt.show()
(三):matplotlib绘制折线图
#coding:utf-8
import pandas as pd
import matplotlib.pyplot as plt
# 数据
x = list(range(0,10))
y = list(range(0, 10))
print(x)
print(y)
# 折线图
plt.plot(x,y)
plt.show()
(四):Seaborn绘制折线图(用直线代替)
用Seaborn画出来的图形比上面的折线图多了x、y坐标图标
#coding:utf-8
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 数据
x = list(range(0,10))
y = list(range(0, 10))
print(x)
print(y)
# 折线图
df = pd.DataFrame('x':x,'y':y)
sns.lineplot(x="x", y="y",data=df)
plt.show()
(五):matplotlib绘制直方图
#coding:utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 数据
x = np.random.randn(100)
x1 = pd.Series(x)
print(x)
print(x1)
# 折线图
plt.hist(x1)
plt.show()
(六):Seaborn绘制直方图
#coding:utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 数据
x = np.random.randn(100)
x1 = pd.Series(x)
print(x)
print(x1)
# 折线图,如果kde为False的话没有线性图只有直方图
sns.distplot(x1, kde=True)
plt.show()
(七):matplotlib绘制条形图
#coding:utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 数据
x = ['S1','S2','S3','S4','S5']
y = [8, 14, 10, 6, 2]
# 直方图
plt.bar(x,y)
plt.show()
(八):Searborn绘制条形图
#coding:utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 数据
x = ['S1','S2','S3','S4','S5']
y = [8, 14, 10, 6, 2]
# 直方图
sns.barplot(x, y)
plt.show()
(九):matplotlib绘制箱线图
箱线图,又称盒式图,它是在 1977 年提出的,由五个数值点组成:最大值 (max)、最小值 (min)、中位数 (median) 和上下四分位数 (Q3, Q1)。它可以帮我们分析出数据的差异性、离散程度和异常值等
#coding:utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 数据
data = np.random.normal(size=(10, 4))
labels = ['A', 'B', 'C', 'D']
# 箱线图
plt.boxplot(data, labels=labels)
plt.show()
(十):Seaborn绘制箱线图
#coding:utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 数据
data = np.random.normal(size=(10, 4))
labels = ['A', 'B', 'C', 'D']
# 箱线图
df = pd.DataFrame(data, columns=labels)
sns.boxplot(data=df)
plt.show()
好啦,本期知识分享就到这里辽,以上内容来自清华一名很牛逼的老师的笔记,小夜斗自己学习过程当中总结精华分享给大家!
关注夜斗小神社,Python爬虫、数据分析不迷路!
- 在这个星球上,你很重要,请珍惜你的珍贵! ~~~夜斗小神社
以上是关于爬虫老司机手把手教你如何分析用户数据|Python 数据分析打怪升级之路 day05:数据规范化这样做才规范数据可视化十大图表的主要内容,如果未能解决你的问题,请参考以下文章
爬虫老司机手把手教你如何分析用户数据|Python 数据分析打怪升级之路 day05:数据规范化这样做才规范数据可视化十大图表
python爬虫技术如何挣钱?手把手教你如何用Python做副业月入30000+!
python爬虫技术如何挣钱?手把手教你如何用Python做副业月入30000+!
如何3秒钟看出一个人的python实力|Python 数据分析打怪升级之路 day04:手把手教你如何分析用户数据数据分析基本概念