数据分析基础之《numpy(3)—基本操作》

一、基本操作

1、adarray.方法()

2、np.函数名()

二、生成数组的方法

1、生成0和1的数组

为什么需要生成0和1的数组?
我们需要占用位置,或者生成一个空的数组

(1)ones(shape[, dtype, order])
生成一组1
shape:形状
dtype:类型

(2)zeros(shape[, dtype, order])
生成一组0
shape:形状
dtype:类型

(3)例子
指定形状的话既可以是元组(3, 4),也可以是列表[2, 3]

# 生成0和1的数组
# 生成3行4列的数组
np.zeros(shape=(3, 4), dtype="float32")

np.ones(shape=[2, 3], dtype=np.int32)

数据分析基础之《numpy(3)—基本操作》_第1张图片

2、从现有数组生成

(1)array(object[, dtype, copy, order, subok, ndmin])

(2)asarray(a[, dtype, order])

(3)copy(a[, order])

(4)例子

# 从现有数组生成
score

data1 = np.array(score)

data1

data2 = np.asarray(score)

data2

data3 = np.copy(score)

data3

# 修改第4行第2列
score[3, 1] = 10000

score

data1

data2

data3

数据分析基础之《numpy(3)—基本操作》_第2张图片

修改了原数组值之后,data1没有变化,data2有变化,data3没有变化

(5)关于array和asarray的不同
np.array() np.copy()  深拷贝
np.asarray()  浅拷贝

3、生成固定范围的数组

(1)np.linspace(start, stop, num, endpoint, retstep, dtype)
生成等间隔的序列,生成的值左闭右闭,等距离
说明:
start:序列的起始值
stop:序列的终止值,如果endpoint为true,该值包含于序列中
num:要生成的等间隔样例数量,默认为50
endpoint:序列中是否包含stop值,默认为true
retstep:如果为true,返回样例,以及连续数字之间的步长
dtype:输出ndarray的数据类型

(2)np.arange([start,] stop, [step])
和range()用法一样,生成左闭右开[start, stop),step是步长

(3)例子

# 生成固定范围的数组
np.linspace(0, 10, 5)

np.arange(0, 11, 5)

4、生成随机数组
np.random模块

(1)均匀分布
均匀分布(uniform distribution)是概率统计中的重要分布之一。顾名思义,均匀,表示可能性相等的含义。均匀分布在自然情况下极为罕见,而人工栽培的有一定株行距的植物群落即是均匀分布

(2)函数
np.random.uniform(low=0.0, high=1.0, size=None)
功能:从一个均匀分布[low, high)中随机采样,注意定义域是左闭右开,即包含low,不包含high
参数介绍:
low:采样下界,float类型,默认值为0
high:采样上界,float类型,默认值为1
size:输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k),则输出mnk个样本,缺省时输出1个值
返回值:
ndarray类型,其形状和参数size中描述一致

(3)例子

# 生成随机数组
data1 = np.random.uniform(low=-1, high=1, size=1000000)

data1

import matplotlib.pyplot as plt

# 1、创建画布
plt.figure(figsize=(20, 8), dpi=100)

# 2、绘制直方图
plt.hist(data1, 1000)

# 3、显示图像
plt.show()

数据分析基础之《numpy(3)—基本操作》_第3张图片

(4)正态分布
正态分布是一种概率分布。正态分布是具有两个参数μ和σ的连续性随机变量的分布,第一参数μ是服从正态分布的随机变量的均值,第二个参数σ是此随机变量的标准差,所以正态分布记做N(μ, σ)
数据分析基础之《numpy(3)—基本操作》_第4张图片

正态分布的应用
生活、生产与科学实验中很多随机变量的概率分布都可以近似地用正态分布来描述

正态分布特点
μ决定了其位置,标准差σ决定了分布的幅度,当μ=0,σ=1时的正态分布是标准正态分布
数据分析基础之《numpy(3)—基本操作》_第5张图片

标准差怎么来的
标准差是方差开平方根得来的

其中M为平均值,n为数据总个数,S为标准差,S^2可以理解为方差
数据分析基础之《numpy(3)—基本操作》_第6张图片

方差为0,是所有数据一样的情况下。这组数据非常稳定,波动非常小

标准差与方差的意义
可以理解成数据的一个离散程度的衡量

(5)函数
np.random.normal(loc=0.0, scale=1.0, size=None)
参数介绍:
loc:float类型,此概率分布的均值(对应着整个分布的中心centre)
scale:float类型,此概率分布的标准差(对应于整个分布的宽度,scale越大,图像越矮胖,scale越小,图像越高瘦)
size:输出的数量,默认为None,只输出一个值

(6)例子

# 正态分布
data2 = np.random.normal(loc=1.75, scale=0.1, size=1000000)

data2

# 1、创建画布
plt.figure(figsize=(20, 8), dpi=100)

# 2、绘制直方图
plt.hist(data2, 1000)

# 3、显示图像
plt.show()

数据分析基础之《numpy(3)—基本操作》_第7张图片

你可能感兴趣的:(机器学习,数据分析)