文章目录

  • ​​一、简介​​
  • ​​二、N维数组-ndarray​​
  • ​​1.ndarray的属性​​
  • ​​2.ndarray的形状​​
  • ​​三、基本操作​​
  • ​​1.全0数组​​
  • ​​2.全0/1数组​​
  • ​​3.从现有数组生成​​
  • ​​4.生成固定范围的数组​​
  • ​​5.生成随机数​​
  • ​​1. np.random.rand(d0, d1, ..., dn)​​
  • ​​2. np.random.uniform(low=0.0, high=1.0, size=None)​​
  • ​​3. np.random.randint(low, high=None, size=None, dtype='l')​​
  • ​​4.绘制直方图​​
  • ​​5.绘制正态分布图​​
  • ​​6.数组的索引、切片​​
  • ​​7.形状修改​​
  • ​​8.类型修改​​
  • ​​9.数组去重​​
  • ​​10.小结​​
  • ​​四、ndarray运算​​
  • ​​1.逻辑运算​​
  • ​​2.np.all​​
  • ​​3.np.any​​
  • ​​4.np.where (包括 np.logical_or)​​
  • ​​5.统计运算 max,min,mean(平均值),median(中位数),std(标准差),var(方差)​​
  • ​​6.小结​​
  • ​​五、数学矩阵​​
  • ​​六、数组间的运算​​
  • ​​七、矩阵运算 np.matmul np.dot​​
  • ​​1.np.matmul​​
  • ​​2.np.dot​​

一、简介

  1. Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。
  2. Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。
  3. Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。
  4. NumPy提供了一个N维数组类型ndarray,它描述了相同类型的“items”的集合。

例如:
用ndarray进行存储:

import numpy as np

# 创建ndarray
score = np.array([[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]])

socre

array([[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]])

小结

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_python

二、N维数组-ndarray

1.ndarray的属性

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_机器学习_02

2.ndarray的形状

# 创建不同形状的数组
>>> a = np.array([[1,2,3],[4,5,6]])
>>> b = np.array([1,2,3,4])
>>> c = np.array([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])

分别打印出形状

>>> a.shape
>>> b.shape
>>> c.shape

(2, 3) # 二维数组
(4,) # 一维数组
(2, 2, 3) # 三维数组

三、基本操作

1.全0数组

#生成全0数组
np.zeros((6,6,6))
#生成全1数组
np.ones((6,6,6))

2.全0/1数组

(上截图吧,不想CtrlCV了)

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_机器学习_03

3.从现有数组生成

b = np.array(a)  #复制的形式生成新数组
c = np.asarray(a) #引用的形式生成新数组

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_数组_04

4.生成固定范围的数组

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_矩阵_05

5.生成随机数

1. np.random.rand(d0, d1, …, dn)

返回[0.0,1.0)内的一组均匀分布的数。

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. np.random.randint(low, high=None, size=None, dtype=‘l’)

从一个均匀分布中随机采样,生成一个整数或N维整数数组,取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_机器学习_06

4.绘制直方图

#绘制均匀分布抽样生成的数据的直方图
x = np.random.uniform(-10,10,1000000)
plt.figure(figsize=(20,8))
plt.hist(x, bins=1000)
plt.show()

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_矩阵_07

5.绘制正态分布图

#绘制正态分布抽样生成的数据的直方图
x_n = np.random.standard_normal((100000))
plt.figure(figsize=(20,8))
plt.hist(x_n, bins=1000)
plt.show()

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_正态分布_08


1.正态分布创建方式

  • np.random.randn(d0, d1, …, dn)
    功能:从标准正态分布中返回一个或多个样本值
  • np.random.normal(loc=0.0, scale=1.0, size=None)
    loc:float
    此概率分布的均值(对应着整个分布的中心centre)
    scale:float
    此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
    size:int or tuple of ints
    ​ 输出的shape,默认为None,只输出一个值
  • np.random.standard_normal(size=None)
    返回指定形状的标准正态分布的数组。

6.数组的索引、切片

一维、二维、三维的数组如何索引?

# 三维,一维
a1 = np.array([ [[1,2,3],[4,5,6]], [[12,3,34],[5,6,7]]])
# 返回结果
array([[[ 1, 2, 3],
[ 4, 5, 6]],

[[12, 3, 34],
[ 5, 6, 7]]])
# 索引、切片
>>> a1[0, 0, 1] # 输出: 2

7.形状修改

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_python_09

8.类型修改

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_矩阵_10

9.数组去重

np.unique()

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_机器学习_11

10.小结

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_矩阵_12

四、ndarray运算

1.逻辑运算

import numpy as np
stock_change = np.random.standard_normal((8,5))
stock_change

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_矩阵_13

2.np.all

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_机器学习_14

3.np.any

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_机器学习_15

4.np.where (包括 np.logical_or)

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_机器学习_16

5.统计运算 max,min,mean(平均值),median(中位数),std(标准差),var(方差)

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_矩阵_17

6.小结

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_正态分布_18

五、数学矩阵

知识点小结

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_正态分布_19

六、数组间的运算

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_正态分布_20

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_机器学习_21

七、矩阵运算 np.matmul np.dot

1.np.matmul

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_机器学习_22

2.np.dot

numpy简介、ndarray、numpy基本操作、ndarray运算、矩阵运算_矩阵_23