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

news2024/12/24 2:15:15

下载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.coloradmin.cn/o/477409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一步步解密微商城系统开发流程

作为现代商业的重要组成部分,电子商务系统的建设对于企业的发展至关重要。然而,对于一些小型企业来说,建设一个完整的电子商务系统可能会耗费大量的时间和金钱。微商城系统的出现有效地解决了这个问题,因为它可以在不需要太多资金…

趣说数据结构(练习1) —— 顺序表/链表力扣刷题

练习 1 —— 顺序表/链表力扣刷题 1. 合并两个有序链表 力扣题目地址:https://leetcode.cn/problems/merge-two-sorted-lists/ 问题描述:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例&#x…

【云计算•云原生】4.云原生之什么是Kubernetes

文章目录 Kubernetes概念Kubernetes核心概念集群podConfigMap Kubernetes架构master节点的组件worker节点组件 Kubernetes网络架构内部网络外部网络 k8s各端口含义 Kubernetes概念 K8S就是Kubernetes,Kubernetes首字母为K,末尾为s,中间一共有…

全球5G市场最新进展及未来展望

从智慧医疗到万物互联,从无人驾驶到关乎我国未来发展的“新基建”,自2019年全球5G商用启动后,5G就步入了发展“快车道”;2022年继续保持快速稳定的增长态势,在网络建设、人口覆盖、终端形态等方面发展势头强劲,在技术标…

1695_week2_算法与函数(MIT使用Python编程学习手记)

全部学习汇总: GreyZhang/python_basic: My learning notes about python. (github.com) 首先说明一下,这部分信息的整理只是我个人的理解。由于自己的知识功底以及英语水准,很可能会有大量的疏漏。再此,我只想把自己学习时候的一…

C++(类和对象上篇)

本节目标: 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 5.类的作用域 6.类的实例化 7.类的对象大小的计算 8.类成员函数的this指针 目录 1、面向过程和面向对象初步认识 2、类的引入 4.类的访问限定符及封装 4.1访问限定…

为了做低代码平台,这些年我们对.NET的DataGridView做的那些扩展

我们的低代码开发平台从一开始决定做的时候,就追求未来能够支持多种类型的客户端,目前支持Winform,Web,H5,FlutterAPP,当然了,未来也有可能会随着实际的需要淘汰掉一些客户端的。 为了系统更易…

springboot - 实现动态刷新配置

自定义的配置数据源,继承自Spring框架的 MapPropertySource 类,从一个名为 my.properties 的文件中读取配置信息,并在每10秒钟刷新一次。 这里不加Component,是因为: FilePropertiesSource filePropertiesSource new…

辨析 总结PMP各种BS结构

OBS 组织分解结构、BOM 物料清单、WBS工作分解结构、RBS 资源分解结构、RBS 风险分解结构、RAM 责任分匹配矩阵辨析 组织分解结构 OBS(Organizational Breakdown Structure) 描述了执行组织的层次结构,以便把工作包同执行组织单元相关联 物料…

电子邮件SDK:MailBee.NET 12.3.1 Crack

MailBee.NET 对象捆绑包包括SMTP、POP3、IMAP、EWS、安全、反垃圾邮件、Outlook 转换器、地址验证器、PDF组件以及BounceMail、HTML、MIME、ICalVCard组件,这些组件是一项常用功能。 MailBee.NET Objects是一组强大且功能丰富的 .NET 组件,用于创建、发送…

Haffman编码(算法导论)

上次算法导论课讲到了Haffman树,笔者惊叹于Haffman编码的压缩效果,故想自己亲自动手尝试写一个极简的Haffman压缩程序。 首先,我们来了解一下什么是Haffman编码 Haffman编码 赫夫曼编码可以很有效地压缩数据:通常可以节省20%&am…

UNIX环境高级编程——进程关系

9.1 引言 本章详细说明进程组以及会话的概念,还将介绍登录shell(登录时所调用的)和所有从登录shell启动的进程之间的关系。 9.2 终端登录 9.3 网络登录 9.4 进程组 每个进程除了有一进程ID之外,还属于一个进程组,进…

一曲微茫度余生 ——川剧《李亚仙》唱响香港西九戏曲中心

2023年4月28日晚,香港西九戏曲中心灯火辉煌。重庆市川剧院携手成都市川剧研究院带来的川剧《李亚仙》首场演出在这个为戏曲而设的世界级舞台重磅上演。 此次访演受香港西九戏曲文化中心的邀请,原重庆市文化和旅游发展委员会党委书记、主任刘旗带队&…

『LogDashboard』.NET开源的日志面板——登录授权页面扩展

📣读完这篇文章里你能收获到 了解LogDashboard扩展开源项目——LogDashboard.Authorization掌握LogDashboard扩展内置登录页的使用方式 文章目录 一、LogDashbaord介绍1. 功能支持2. 快速开始 二、LogDashboard.Authorization1. 功能介绍2. 项目接入3. 更多示例 一…

Python语法学习

目录 Openmv用micro python开发的原因 print函数 列表 元组 判断 if...else... if...elif...else 循环 for循环 while循环 强制类型转换 点灯之路 点个不同颜色的闪烁LED 本文章仅作为个人的Openmv学习笔记,有问题欢迎指正~ Openmv用micro python开发…

【MPC|云储能】基于模型预测控制(MPC)的微电网调度优化的研究(matlab代码)

目录 1 主要内容 2 程序难点及问题说明 3 部分程序 4 下载链接 1 主要内容 该程序分为两部分,日前优化部分——该程序首先根据《电力系统云储能研究框架与基础模型》上面方法,根据每个居民的实际需要得到响应储能充放电功率,优化得到整体…

性能测评:阿里云服务器ECS通用型g8i实例CPU内存安全存储

阿里云服务器ECS通用型实例规格族g8i采用2.7 GHz主频的Intel Xeon(Sapphire Rapids) Platinum 8475B处理器,3.2 GHz睿频,g8i实例采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。阿里云百科分享阿里云服…

真题详解(DNS)-软件设计(六十三)

真题详解(有向图)-软件设计(六十二)https://blog.csdn.net/ke1ying/article/details/130443040 顺序存储:元素和存储空间相对位置来表示数据元素之间逻辑关系。 RFB:远程访问图形用户界面的简单协议。 在ISO/IEC9126软…

【五一创作】跑alpaca-lora语言模型的常见问题(心得)

训练部署alpaca-lora语言模型常见问题 Alpaca-Lora是一个开源的自然语言处理框架,使用深度学习技术构建了一个端到端的语言模型。在训练和部署alpaca-lora语言模型时,可能会遇到一些常见问题。本文将介绍一些这些问题及其解决方法。 1. bitsandbytes版…

计算机视觉毕业后找不到工作怎么办?怒刷leetcode,还是另寻他路?

文章目录 一、计算机视觉毕业后找不到工作怎么办?二、大环境:前两年的泡沫太大三、还是要把自己的基本功搞扎实,真正的人才什么时候都紧缺四、转换思路,另投他坑五、要有毅力,心态放平六、最后的建议 一、计算机视觉毕…