NumPy 创建数组
ndarray 数组除了可以使用底层 ndarray 构造器来创建外,也可以通过以下几种方式来创建。
numpy.empty
numpy.empty 方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组:
numpy.empty(shape, dtype = float, order = 'C')
参数说明:
参数
描述
shape
数组形状
dt……继续阅读 »
2年前 (2022-07-23) 321浏览 0评论
0个赞
NumPy 广播(Broadcast)
广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。
如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。
实例
import numpy as np
a = np.arra……继续阅读 »
2年前 (2022-07-16) 254浏览 0评论
0个赞
NumPy 数据类型
numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型。下表列举了常用 NumPy 基本类型。
名称
描述
bool_
布尔型数据类型(True 或者 False)
int_
默认的整数类型(类似于 C 语言中的 long,int32 或 int64)
intc
与 C 的 int……继续阅读 »
2年前 (2022-07-16) 122浏览 0评论
0个赞
NumPy 教程
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了……继续阅读 »
2年前 (2022-06-30) 123浏览 0评论
0个赞
NumPy 切片和索引
ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。
ndarray 数组可以基于 0 – n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。
实例
import numpy as np
a = np.arange(10)
s = ……继续阅读 »
2年前 (2022-06-28) 297浏览 0评论
0个赞
NumPy 位运算
NumPy “bitwise_” 开头的函数是位运算函数。
NumPy 位运算包括以下几个函数:
函数
描述
bitwise_and
对数组元素执行位与操作
bitwise_or
对数组元素执行位或操作
invert
按位取反
left_shift
向左移动二进制表示的位
right_shift
向右移动二进制表示的位
注:也……继续阅读 »
2年前 (2022-06-27) 133浏览 0评论
0个赞
NumPy 字符串函数
以下函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作。 它们基于 Python 内置库中的标准字符串函数。
这些函数在字符数组类(numpy.char)中定义。
函数
描述
add()
对两个数组的逐个字符串元素进行连接
multiply()
返回按元素多重连接后的字符串
center()
居中字符串……继续阅读 »
2年前 (2022-06-23) 122浏览 0评论
0个赞
NumPy 高级索引
NumPy 比一般的 Python 序列提供更多的索引方式。除了之前看到的用整数和切片的索引外,数组可以由整数数组索引、布尔索引及花式索引。
整数数组索引
以下实例获取数组中(0,0),(1,1)和(2,0)位置处的元素。
实例
import numpy as np
x = np.array([[1, 2], [3, 4], [5, 6]])
y = x[[0,1,2], [0,……继续阅读 »
2年前 (2022-06-18) 177浏览 0评论
0个赞
NumPy 安装
Python 官网上的发行版是不包含 NumPy 模块的。
我们可以使用以下几种方法来安装。
1、使用已有的发行版本
对于许多用户,尤其是在 Windows 上,最简单的方法是下载以下的 Python 发行版,它们包含了所有的关键包(包括 NumPy,SciPy,matplotlib,IPython,SymPy 以及 Python 核心自带的其它包):
Anaconda: 免费 Python ……继续阅读 »
2年前 (2022-06-15) 241浏览 0评论
0个赞
NumPy 统计函数
NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等。 函数说明如下:
numpy.amin() 和 numpy.amax()
numpy.amin() 用于计算数组中的元素沿指定轴的最小值。
numpy.amax() 用于计算数组中的元素沿指定轴的最大值。
实例
import numpy as np
a = np.array([[3,7,5],[8,4,……继续阅读 »
2年前 (2022-06-15) 149浏览 0评论
0个赞
NumPy Ndarray 对象
NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。
ndarray 对象是用于存放同类型元素的多维数组。
ndarray 中的每个元素在内存中都有相同存储大小的区域。
ndarray 内部由以下内容组成:
一个指向数据(内存或内存映射文件中的一块数据)的指针。
数据类型或 dty……继续阅读 »
2年前 (2022-06-12) 121浏览 0评论
0个赞
Numpy 数组操作
Numpy 中包含了一些函数用于处理数组,大概可分为以下几类:
修改数组形状
翻转数组
修改数组维度
连接数组
分割数组
数组元素的添加与删除
修改数组形状
函数
描述
reshape
不改变数据的条件下修改形状
flat
数组元素迭代器
flatten
返回一份数组拷贝,对拷贝所做的修改不会影响原始数组
ravel
返回展开数组
nu……继续阅读 »
2年前 (2022-06-12) 223浏览 0评论
0个赞
NumPy 字节交换
在几乎所有的机器上,多字节对象都被存储为连续的字节序列。字节顺序,是跨越多字节的程序对象的存储规则。
大端模式:指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。
小端模式:指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种……继续阅读 »
2年前 (2022-06-09) 239浏览 0评论
0个赞
NumPy 数组属性
本章节我们将来了解 NumPy 数组的一些基本属性。
NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推。
在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴……继续阅读 »
2年前 (2022-06-07) 362浏览 0评论
0个赞
NumPy Matplotlib
Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。
pip3 安装:
pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
Linux 系统也可以使用 L……继续阅读 »
2年前 (2022-06-06) 184浏览 0评论
0个赞
NumPy 从数值范围创建数组
这一章节我们将学习如何从数值范围创建数组。
numpy.arange
numpy 包中的使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如下:
numpy.arange(start, stop, step, dtype)
根据 start 与 stop 指定的范围以及 step 设定的步长,生成一个 ndarray。
参数说明:
参数
描述
st……继续阅读 »
2年前 (2022-06-06) 129浏览 0评论
0个赞
NumPy 数学函数
NumPy 包含大量的各种数学运算的函数,包括三角函数,算术运算的函数,复数处理函数等。
三角函数
NumPy 提供了标准的三角函数:sin()、cos()、tan()。
实例
import numpy as np
a = np.array([0,30,45,60,90])
print (‘不同角度的正弦值:‘)
# 通过乘 pi/180 转化为弧度
print (……继续阅读 »
3年前 (2022-06-03) 193浏览 0评论
0个赞
NumPy 算术函数
NumPy 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide()。
需要注意的是数组必须具有相同的形状或符合数组广播规则。
实例
import numpy as np
a = np.arange(9, dtype = np.float_).reshape(3,3)
print (‘第一个数组:‘)
print (a……继续阅读 »
3年前 (2022-06-03) 113浏览 0评论
0个赞
NumPy IO
Numpy 可以读写磁盘上的文本数据或二进制数据。
NumPy 为 ndarray 对象引入了一个简单的文件格式:npy。
npy 文件用于存储重建 ndarray 所需的数据、图形、dtype 和其他信息。
常用的 IO 函数有:
load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中。
savez(……继续阅读 »
3年前 (2022-06-02) 114浏览 0评论
0个赞
NumPy 线性代数
NumPy 提供了线性代数函数库 linalg,该库包含了线性代数所需的所有功能,可以看看下面的说明:
函数
描述
dot
两个数组的点积,即元素对应相乘。
vdot
两个向量的点积
inner
两个数组的内积
matmul
两个数组的矩阵积
determinant
数组的行列式
solve
求解线性矩阵方程
inv
计算矩阵的乘法逆矩阵
……继续阅读 »
3年前 (2022-05-31) 202浏览 0评论
0个赞
NumPy 迭代数组
NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式。
迭代器最基本的任务的可以完成对数组元素的访问。
接下来我们使用 arange() 函数创建一个 2X3 数组,并使用 nditer 对它进行迭代。
实例
import numpy as np
a = np.arange(6).reshape(2,3)
print (‘原始数组是:……继续阅读 »
3年前 (2022-05-29) 111浏览 0评论
0个赞
NumPy 排序、条件刷选函数
NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较。
种类
速度
最坏情况
工作空间
稳定性
'quicksort'(快速排序)
1
O(n^2)
0
否
'mergesort'(归并排序)
2
O(n*log(n))
~n/2
是
'he……继续阅读 »
3年前 (2022-05-28) 232浏览 0评论
0个赞
NumPy 副本和视图
副本是一个数据的完整的拷贝,如果我们对副本进行修改,它不会影响到原始数据,物理内存不在同一位置。
视图是数据的一个别称或引用,通过该别称或引用亦便可访问、操作原有数据,但原有数据不会产生拷贝。如果我们对视图进行修改,它会影响到原始数据,物理内存在同一位置。
视图一般发生在:
1、numpy 的切片操作返回原数据的视图。
2、调用 ndarray 的 view() 函数产生一个视图。
……继续阅读 »
3年前 (2022-05-15) 136浏览 0评论
0个赞
NumPy 从已有的数组创建数组
本章节我们将学习如何从已有的数组创建数组。
numpy.asarray
numpy.asarray 类似 numpy.array,但 numpy.asarray 参数只有三个,比 numpy.array 少两个。
numpy.asarray(a, dtype = None, order = None)
参数说明:
参数
描述
a
任意形式的输入参数,可以是,列表, ……继续阅读 »
3年前 (2022-05-15) 283浏览 0评论
0个赞