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 Numpy 模块基本使用 -> 正文阅读

[Python知识库]Python Numpy 模块基本使用

Python Numpy

一、数组

1. 创建

Numpy 包括了多种创建数组的方式

np.array(list)

通过传入一个列表来初始化一个数组:

import numpy as np
# 声明一个数组
arr = np.array([[1,2,3], [4,5,6]])
'''
1 2 3
4 5 6
'''

np.ones(shape)/np.zeros(shape)

生成所需形状的所有元素为 1(0) 的数组:

ones = np.ones((2,2))
'''
output
1 1
1 1
'''
zeros = np.zeros((3,3))
'''
output
0 0 0
0 0 0
0 0 0
'''

np.arange(begin, end, stride)

根据所给区间和步长生成一个一维数组,默认从 0 开始,步长为1,其中:

  • begin: 起始数值,选填
  • end:截止数值,必填
  • stride:步长,选填
range = np.arange(0, 10, 2)
'''
output:
0 2 4 6 8 10
'''

np.linespace(begin, end, count)

同样这个函数也是指定了一个区间,但是不同的是,linspace 第三个参数是指:从begin 开始到 end 中间等分的数量,即返回的是指定元素个数的数组,步长为区间长度对于指定元素个数的均分,例如:

ls1 = np.linspace(0, 10, 2)
ls1.size()
'''
output
0, 10
size: 2
'''
ls2 = np.linspace(0, 10, 6)
ls2.size()
'''
output
0, 2, 4, 6, 8, 10
size: 6
'''
ls3 = np.linspace(0, 10, 11)
ls3.size()
'''
output
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
size: 11
'''

np.random.radint(min, max, shape)

当我们需要创建一个元素大小随机的数组时,可以通过这个随机数数组的方法生成:

rand = np.random.radint(0, 10, 3)
'''
output
4 2 0
3 8 1
9 0 1
'''

2. 属性

Numpy 的数组对象包含了几个非常有用的描述数组特征的属性:

  • ndim:数组的维度
  • size:数组大小,即包含的元素个数
  • shape:数组的形状
  • dtype:数组的类型

例如:

temp = np.ones((2,2))
'''
temp.ndim: 2
temp.size: 4
temp.shape: (2,2)
temp.dtype: float
'''

3. 方法

3.1 形状变换方法:reshape(shape), flatten()

形状改变,可以调整数组形状,常用于将范围转换为所需形状的数组:

range = np.arange(0, 10, 3) # [0, 3, 6, 9], size: 4, shape: (1,4)
range.reshape((2,2))
'''
output
0 3
6 9
'''
range.flatten()
'''
output
0 3 6 9
'''

3.2 统计方法:min, max, ptp, median, mean, std, var, sum

略 … \Huge\color{BROWN}略\dots

3.3 集合运算

# 例
# a: 1,2,3,4,5,6
# b: 5,6,7,8,9

# 交集
numpy.intersect1d(a,b)
'''
output
5, 6
'''

# 差集
numpy.sestdiff1d(a,b)
'''
output
1, 2, 3, 4, 7, 8, 9
'''

从函数名称来看,显然,函数针对的是一维数组之间的交集计算,如果输入的数组维度不是一维,则此时函数会先对该数组进行 flatten 操作,统一化为一维数组之后进行计算。 setdiff1d 同理

3.4 相关系数计算与掩码数组

已知相关系数计算:
ρ = C o v ( X , Y ) σ X , σ Y \rho=\frac{Cov(X,Y)}{\sigma_{X},\sigma_{Y}} ρ=σX?,σY?Cov(X,Y)?
又:
C o v ( X , Y ) = E ( X Y ) ? E ( X ) E ( Y ) Cov(X,Y)=E(XY)-E(X)E(Y) Cov(X,Y)=E(XY)?E(X)E(Y)
则:
ρ = E ( X Y ) ? E ( X ) E ( Y ) σ X σ Y \rho=\frac{E(XY)-E(X)E(Y)}{\sigma_{X}\sigma_{Y}} ρ=σX?σY?E(XY)?E(X)E(Y)?
当通过代码进行相关系数计算时,此时可以创建包含 X , Y X,Y X,Y 的两个数组 xy,则 X Y XY XYx * y,则再根据前文数组的统计量成员函数可得:

# E(XY)
e_xy = (x * y).mean()
# E(X)E(Y)
e_x_y = x.mean() * y.mean()
# X 标准差
sigma_x = x.std()
# Y 标准差
sigma_y = y.std()

最终可以计算得到相关系数:

corrcoef = (e_xy - e_x_y) / (sigma_x * sigma_y)

此时结合 Numpy 提供的相关系数矩阵计算函数:

np.corrcoef(x, y)
'''
output
1 corr(x,y)
corr(x,y) 1
'''

可得到对应的相关系数在对应的行列位置,对角线为自身相关系数,为 1 1 1

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 14:53:43  更:2021-10-24 14:55:01 
 
开发: 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 21:08:48-

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