数据分析和数据可视化
一、数据分析
1、数据分析概述
数据分析指使用适当的统计分析方法对收集来的大量数据进行分析,从中提取有用的信息形成结论。
数据分析一般分为以下几步:
2、数据分析的常用工具
下面让我们一一介绍这三款数据分析工具的优势以及发展历程
matplotlib是最出色的绘图库,它可以于numpy一起使用实现数据可视化。
pandas建立于numpy之上,功能十分强大,不仅可以灵活地处理数据,而且可以实现数据可视化。这些模块需要安装
这里的IDE我的是:PyCharm
点击File-->settings-->Project-->Python Interpreter
或在终端界面输入命令行:
pip版本过低无法下载 更新pip
python -m pip install --upgrade pip
python -m pip install --user numpy matplotlib pandas
3.科学计算
numpy之数组对象ndarray
函数 | 说明 |
---|---|
np.array(object) | 利用Python中列表或元组创建数组 |
np.zeros((m,n)) | 创建一个m行,n列且元素均为0的数组 |
np.ones((m,n)) | 创建一个m行,n列且元素均为1的数组 |
np.empty((m,n)) | 创建一个m行,n列且不包含初始项的数组 |
np.arange(x,y,i) | 创建一个由x到y且步长为i的数组 |
np.linspace(x,y,n) | 创建一个由x到y且等分成n个元素的数组 |
np.random.rand(m,n) | 创建一个m行n列且元素为随机值的数组 |
#1.导入numpy模块 并起别名
import numpy as np
'''
通过arange函数可以创建一个等差数组
例如 1 到 16 等差为2的整数
'''
#2.创建一个等差数组
array = np.arange(1,16,2)
print(array)
import numpy as np
array = np.array([1,3,5]) #创建一维数组
print(array)
#1.显示数组维度
print(array.ndim)
#2.打印数组在每个维度上的大小
print(array.shape)
#3.打印数组的总元素
print(array.size)
print("-"*50)
array2 = np.array([[1,3,5],[2,4,6]]) #创建二维数组
print(array2)
#数组维度
print(array2.ndim)
#数组每个维度的大小
print(array2.shape)
#数组中的元素个数
print(array2.size)
numpy的基本操作
属性 | 方法 | 说明 |
---|---|---|
ndarray.T | 对数组进行轴对换,不改变数组本身 | |
ndarray.reshape(n,m) | 不改变数组ndarray,返回一个形状为(n,m)的数组 | |
ndarray.resize(new_shape) | 直接改变数组本身 | |
ndarray.ravel() | 对数组进行降维,返回数组的一个视图 | |
ndarray.swaoaxes(axis1,axis2) | 对数组的任意两个维度进行调换 | |
ndarray.transpose() | 不改变数组,返回置换后的数组 |
#1.导入numpy模块
import numpy as np
#2.基本操作
arr = np.array([[1,2,3],[4,5,6]]) #创建2行3列的数组
print(arr)
new_arr = arr.reshape((3,2)) #返回维度为(3,2)的数组 3行2列
print(new_arr)
arr2 = arr.ravel() #降维打击 -- 二维降成一维数组
print(arr2)
print(arr.T) #数组进行轴交换
print("-"*50)
#3.numpy数组支持索引和切片操作
arr = np.arange(1,9).reshape((4,2)) #生成4行2列的数组
print(arr)
#3.1获取第2行的数据
print(arr[1])
#3.2切片操作 获取第1行 到 第3行的数据
print(arr[0:3]) #半闭半开区间 [0,3)
二、数据可视化
1.数据可视化的概述
数据可视化,是关于数据视觉表现形式的科学技术研究。其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量。
它是一个处于不断演变之中的概念,其边界在不断地扩大。主要指的是技术上较为高级的技术方法,而这些技术方法允许利用图形、图像处理、计算机视觉以及用户界面,通过表达、建模以及对立体、表面、属性以及动画的显示,对数据加以可视化解释。与立体建模之类的特殊技术方法相比,数据可视化所涵盖的技术方法要广泛得多。
随着数据仓库技术、网络技术、电子商务技术的发展,可视化涵盖了更广泛的内容,并产生数据可视化的概念。
人话就是: 将大量数据以图表的形式呈现
matplotlib是一个强大的绘图工具,提供了多种输出的格式,可以轻松帮助开发人员构建自己所需的图形。
其中matplotlib提供了一个子模块pyplot
,该模块封装了Matlab命令时的绘图函数,更加诠释了面向对象语言的优势。
2.pyplot绘图区域
#1.引入模块
import matplotlib.pyplot as plt
#2.通过figure() 可以创建 Figure类对象 该对象代表新的绘图区域
plt.figure(figsize=(10,6),facecolor='green') #绘制尺寸为 10*6的绿色绘图区域 宽度和高度以英寸为单位
plt.show() # 显示绘图区域
这个时候就显示出绘图区域了,要想生活过得去,必须头上来点绿
#1.引入模块
import matplotlib.pyplot as plt
'''
参数详解:
rect参数表示坐标系与整个绘图区域的关系 取值可以为 left bottom width height
默认范围都是[0,1]
projection参数表示坐标轴的投影类型
facecolor 参数 代表着背景色 默认white白色
'''
plt.axes([0.1,0.5,0.7,0.3])
plt.show() #显示绘图区域
效果如下
#1.引入模块
import matplotlib.pyplot as plt
plt.subplots(2,2) #生成两行两列的绘图子区域
plt.show() #显示绘图区域
3.pyplot之图表与风格控制
函数 | 说明 |
---|---|
plt.plot(x,y) | 绘制折线图 |
plt.boxplot(x,notch) | 绘制箱型图 |
plt.bar(x,height,width,bottom) | 绘制条形图 |
plt.barh(y,width,height,left) | 绘制水平条形图 |
plt.hist(x,bins) | 绘制直方图 |
plt.pie(data) | 绘制饼图 |
plt.scatter(x,y) | 绘制散点图 |
plt.specgram(x,NFFT,Fs) | 绘制光谱图 |
参数说明:
- x和y参数用于接收x y轴所用到的数据,可以是列表或numpy数组
- fmt参数是可选的,用于控制组成线条的字符串 由颜色值字符、风格值字符和标识符字符组成
- 列举一些颜色
颜色值 | 说明 |
---|---|
“b”(blue) | 蓝色 |
“g”(green) | 绿色 |
“r”(red) | 红色 |
“y”(yellow) | 黄色 |
风格值
风格值 | 说明 |
---|---|
“-” | 实线 |
“–” | 长虚线 |
“-.” | 短点相间线 |
“:” | 短虚线 |
标记值
标记字符 | 还可使用 | 说明 |
---|---|---|
“.” | point marker | 点 |
“,” | pixel marker | 像素 |
“o” | circle marker | 实心圆 |
‘v’ | triangle_down marker | 倒三角标记 |
‘^’ | triangle_up marker | 上三角标记 |
‘<’ | triangle_left marker | 左三角标记 |
‘>’ | triangle_right marker | 右三角标记 |
‘1’ | tri_down marker | 下花三角标记 |
‘2’ | tri_up marker | 上花三角标记 |
‘3’ | tri_left marker | 左花三角标记 |
‘4’ | tri_right marker | 右花三角标记 |
‘s’ | square marker | 实心方形标记 |
‘p’ | pentagon marker | 实心五角标记 |
‘*’ | star marker | 星形标记 |
"""
使用plot()函数分别绘制
sin函数
cos函数
"""
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi,np.pi,256,endpoint=True)
c,s = np.cos(x),np.sin(x)
#绘制正弦曲线 颜色为红色 线型为短虚线
plt.plot(x,s,"m:")
#绘制余弦曲线 颜色为绿色 线型为长虚线
plt.plot(x,c,"g--")
plt.show()
效果如下