当前位置: 首页 > article >正文

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

下载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()

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())

geterr
更改警告设置

np.seterr(invalid='ignore')

数组的属性

属性说明
ndim秩,即轴的数量或维度的数量
shape数组的维度,对于矩阵,n 行 m 列
size数组元素的总个数,相当于 .shape 中 n*m 的值
dtypendarray 对象的元素类型
itemsizendarray 对象中每个元素的大小,以字节为单位
flagsndarray 对象的内存信息
realndarray元素的实部
imagndarray 元素的虚部
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)

empty

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

  • 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)

在这里插入图片描述

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


http://www.kler.cn/news/16452.html

相关文章:

  • Redis-列表(List)
  • 【23】linux进阶——linux的软链接和硬链接
  • NTT学习笔记(快速数论变换)
  • 【人脸检测】——YOLO5Face: Why Reinventing a Face Detector论文浅读
  • RT-Thread GD32F4xx 看门狗驱动
  • 1.3 HBase 基本架构
  • Android无线调试操作说明
  • 2023五一数学建模竞赛(五一赛)选题建议
  • 山东专升本计算机第九章-信息安全
  • 目标检测模型量化---用POT工具实现YOLOv5模型INT8量化
  • 详解Python web框架到底是怎么来的?
  • 设计 模式
  • C#手麻系统源码, 基于前端Winform+后端WCF +sqlserver 开发
  • KALI入门到高级【第五章】
  • Android 11.0 系统systemui状态栏下拉左滑显示通知栏右滑显示控制中心模块的流程分析
  • MySQL表的插入详解
  • 12 网络管理的封装
  • SpringBoot 多数据源及事务解决方案
  • 实验5 彩色图像处理与图像变换
  • C语言学习第一次总结
  • Qt 信号与槽机制
  • keepalived脑裂现象
  • Android Input系统事件分发分析
  • 题目 3166: 蓝桥杯2023年第十四届省赛真题-阶乘的和--不能完全通过,最好情况通过67.
  • “双碳”目标下二氧化碳地质封存技术应用前景及模型构建实践方法与讨论
  • 设备仪器仪表盘读数识别算法 yolov5
  • Eplan 部件库导入部件的方法
  • 自动化运维工具Ansible之playbooks剧本
  • Nginx原理解析
  • (基础算法)高精度加法,高精度减法