• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

numpy的下载、数据类型、属性、数组创建

武飞扬头像
阿龙的代码在报错
帮助1

下载numpy

因为numpy不依赖于任何一个包所以numpy可以直接使用pip命令直接下载
下载命令:

pip install numpy # 默认从https://pypi.org/simple 下载
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/ # 从清华大学资源站点下载
pip install numpy -i https://mirrors.aliyun.com/pypi/simple/ # 从阿里云资源站点下载
pip install numpy -i https://pypi.mirrors.ustc.edu.cn/simple/ # 从中科大资源站点下载

建议使用国内源进行下载避免下载过慢或者下载超时的情况出现

导入

在导入numpy的时候我们习惯于将numpy简写成np方便下面程序的调用,几乎所有的程序员都会这么干

import numpy as np

配置

显示格式的设置

获取显示格式配置信息

np.get_printoptions()

学新通

参数 说明
precision 控制输出结果的精度(即小数点后的位数),默认值为8
threshold 当数组元素总数过大时,设置显示的数字位数,其余用省略号代替(当数组元素总数大于设置值,控制输出值得个数为6个,当数组元素小于或者等于设置值得时候,全部显示),当设置值为sys.maxsize(需要导入sys库),则会输出所有元素
suppress 小数是否需要以科学计数法的形式输出
linewidth 每行字符的数目,其余的数值会换到下一行
formatter 自定义输出规则
修改显示格式的配置信息  
np.set_printoptions(precision=None, threshold=None,  linewidth=None, suppress=None, formatter=None)

设置警告信息

查看警告类型的设置

print(np.geterr())

学新通
更改警告设置

np.seterr(invalid='ignore')

数组的属性

属性 说明
ndim 秩,即轴的数量或维度的数量
shape 数组的维度,对于矩阵,n 行 m 列
size 数组元素的总个数,相当于 .shape 中 n*m 的值
dtype ndarray 对象的元素类型
itemsize ndarray 对象中每个元素的大小,以字节为单位
flags ndarray 对象的内存信息
real ndarray元素的实部
imag ndarray 元素的虚部
data 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。
  • ndarray.ndim
    ndarray.ndim用于返回数组的维数,也就是秩
import numpy as np

a = np.arange(24)
print(a)
print(a.ndim)  # a现在只有一个维度 所以返回的结果为1
# 现在调整数组为三维数组
b = a.reshape(2, 4, 3) # b 的维度是3
print(b)
print(b.ndim) 打印的结果为3

学新通

  • ndarray.shape
    ndarray.shape()表示数组的维度,返回类型为元组,元组的长度就是数组的维度,也可以用于调整数组的大小
a_shape = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print(a_shape)
print(a_shape.shape) #(2, 4)

# 调整数组
a_shape.shape = (4, 2)
print(a_shape)
# 和reshape函数的作用一样

学新通

  • ndarray.size
    数组元素的总个数,相当于 .shape 中 n*m 的值
aa = np.arange(6)
print(aa)
print(aa.size)

学新通

  • ndarray.itemsize
    ndarray.itemsize 以字节的形式返回数组中每一个元素的大小
a = np.arange(24, dtype=np.float64)  # dtype=指定数据类型
print(a.itemsize)

学新通

  • ndarray.flages
    ndarray.flages 返回ndarray 对象的内存信息,包含以下属性:
    |属性 |说明 |
    |–|–|
    |C_CONTIGUOUS | 数据是在一个单一的C风格的连续段中 |
    | F_CONTIGUOUS | 数据是在一个单一的Fortran风格的连续段中 |
    |OWNDATA|数组拥有它所使用的内存或从另一个对象中借用它|
    |WRITEABLE | 数据区域可以被写入,将该值设置为 False,则数据为只读 |
    |ALIGNED | 数据和所有元素都适当地对齐到硬件上 |
    |UPDATEIFCOPY|这个数组是其它数组的一个副本,当这个数组被释放时,原数组的内容将被更新|

数组的创建

有几种方法可以创建数组。

方法 说明
empty 创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组
zeros 创建指定大小的数组,数组元素以 0 来填充
ones 创建指定形状的数组,数组元素以 1 来填充
zeros_like 用于创建一个与给定数组具有相同形状的数组,数组元素以 0 来填充。
ones_like 用于创建一个与给定数组具有相同形状的数组,数组元素以 1 来填充
array 从常规Python列表或元组中创建数组。得到的数组的类型是从Python列表中元素的类型推导出来的。
  • empty
    numpy.empty(shape, dtype = float, order = 'C')
参数 说明
shape 数组形状
dtype 数据类型,可选
order 有"C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。
x = np.empty([3, 4], dtype=int)
print(x)

学新通

注意 :数组元素为随机值,因为它们未初始化。

  • numpy.zeros
    numpy.zeros(shape, dtype = float, order = 'C')
参数 说明
shape 数组形状
dtype 数据类型,可选
order ‘C’ 用于 C 的行数组,或者 ‘F’ 用于 FORTRAN 的列数组
# 默认的浮点数类型
x = np.zeros(5)
print(x)
# 设置为整数类型
x2 = np.zeros((5,), dtype=int)
print(x2)
# 自定义类型
x3 = np.zeros((2, 2), dtype=[("x", "i4"), ("y", "i4")])
print(x3)
print(x3.dtype)

学新通

  • numpy.ones
    numpy.ones(shape, dtype = None, order = 'C')
参数 说明
shape 数组形状
dtype 数据类型,可选
order ‘C’ 用于 C 的行数组,或者 ‘F’ 用于 FORTRAN 的列数组
x = np.ones(5)
print(x)
# 设置为整数类型
y = np.ones([2, 2], dtype=int)
print(y)
# 自定义类型
x3 = np.ones((2, 2), dtype=[("x", "i4"), ("y", "i4")])
print(x3)

学新通

  • numpy.zeros_like
    numpy.zeros_like(a, dtype=None, order='K', subok=True, shape=None)
参数 说明
a 给定要创建相同形状的数组
dtype 创建的数组的数据类型
order 数组在内存中的存储顺序,可选值为 ‘C’(按行优先)或 ‘F’(按列优先),默认为 ‘K’(保留输入数组的存储顺序)
subok 是否允许返回子类,如果为 True,则返回一个子类对象,否则返回一个与 a 数组具有相同数据类型和存储顺序的数组
shape 创建的数组的形状,如果不指定,则默认为 a 数组的形状。
arr = np.arange(9).reshape(3, 3)
print(arr)
arr_like = np.zeros_like(arr)
print(arr_like)

学新通

  • numpy.ones_like
    numpy.ones_like(a, dtype=None, order='K', subok=True, shape=None)
参数 说明
a 给定要创建相同形状的数组
dtype 创建的数组的数据类型
order 数组在内存中的存储顺序,可选值为 ‘C’(按行优先)或 ‘F’(按列优先),默认为 ‘K’(保留输入数组的存储顺序)
subok 是否允许返回子类,如果为 True,则返回一个子类对象,否则返回一个与 a 数组具有相同数据类型和存储顺序的数组
shape 创建的数组的形状,如果不指定,则默认为 a 数组的形状。
arr = np.arange(9).reshape(3, 3)
print(arr)
arr_like = np.ones_like(arr)
print(arr_like)

学新通

个人笔记学习资源来自网络,如有侵权请联系

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfeaec
系列文章
更多 icon
同类精品
更多 icon
继续加载