常用Numpy操作(笔记整理)

目录

一、常用(自查)

1. 创建数组(array)

2. 数组形状(shape)

3. 数组维度(ndim)

4. 数组⼤⼩(size)

5. 数组数据类型(dtype)

6. 数组类型转换(astype)

7. 特定数组生成(zeros、ones)

8. 指定范围数组生成(arange、linspace)

9. 随机数组生成(randn、random)

10. 数组切⽚

11. 数组去重(unique)

12. 数组最⼤最⼩值(max、argmax)

13. 数组元素绝对值(abs)

14. 数组求和和累积(sum、cumsum)

15. 数组平均值(mean)

16. 数组中值(median)

17. 数组标准差和⽅差(std、var)

18. 数组元素加减乘除(add)

19. 数组元素取余(mod)

20. 数组对数运算(log)

21. 数组指数函数(exp)

22. 数组⻆度转换(radians)

23. 数组三⻆函数(sin)

24. 数组双曲函数(sinh)

25. 数组元素舍⼊(round)

26. 数组元素⽐较(equal)

27. 数组拆分(split)

28. 数组连接(concatenate、vstack、hstack)

29. 数组形状改变(reshape、ravel)

30. 数组重复(repeat)

31. 数组排序(sort、argsort)

32. 数组复制(copy)

33. 数组填充(full)

34. 数组插⼊(insert、append)

35. 数组删除(delete)

二、其他(自查)

1. 数组元素累积⽐较

2. 数组转置(.T)

3. 数组逆运算

4. 数组指定轴计算

5. 数组逻辑操作

6. 数组线性代数运算


一、常用(自查)

1. 创建数组(array)

np.array()
        将列表转换为 NumPy 数组。

2. 数组形状(shape)

np.shape
np.ndarray.shape
        查看数组形状。

3. 数组维度(ndim)

np.ndim
np.ndarray.ndim
        查看数组维度。

4. 数组⼤⼩(size)

np.size 
np.ndarray.size
        查看数组⼤⼩。

5. 数组数据类型(dtype)

np.dtype 
np.ndarray.dtype
        查看数组数据类型。

6. 数组类型转换(astype)

np.astype()  
np.ndarray.astype
        转换数组数据类型。
int_array = np.array([[1, 2, 3], [4, 5, 6]])float_array = int_array.astype(float)

7. 特定数组生成(zeros、ones)

np.zeros()  # 创建全零数组
np.ones()   # 创建全⼀数组
np.full()   # 创建特定填充值数组
np.empty()  # 创建未初始化数组
        创建特定填充值的数组。
np.full((2, 3), 5)np.empty((2, 3))

8. 指定范围数组生成(arange、linspace)

np.arange()    # 创建指定范围的数组
np.linspace()  # 创建等间隔的数组
        创建指定范围的数组。
np.arange(1, 10, 2)     # 步⻓为2的数组,包含1,不包含10np.linspace(1, 10, 5)   # 从1到10,共5个数,等间隔

9. 随机数组生成(randn、random)

np.random.rand()     # 创建服从均匀分布的随机数组
np.random.randn()    # 创建服从标准正态分布的随机数组
np.random.randint()  # 创建指定范围的随机整数数组
np.random.random()   # 创建服从均匀分布的随机数组
        创建随机数组。
np.random.randint(1, 10, size=(2, 3))np.random.random((2, 3))

10. 数组切⽚

        切⽚操作获取特定区域的数组元素。
my_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])get_array = my_array[0:2, 1:3]

11. 数组去重(unique)

np.unique()
        对数组进⾏去重。

12. 数组最⼤最⼩值(max、argmax)

# 获取数组的最⼤值和最⼩值
np.max() 
np.min() # 获取数组的最⼤值和最⼩值的索引
np.argmax() 
np.argmin()
        获取数组的最⼤最⼩值及其索引。

13. 数组元素绝对值(abs)

np.abs()
        计算数组元素的绝对值。

14. 数组求和和累积(sum、cumsum)

np.sum(axis)     # 计算数组元素的和
# axis    1:数组的⾏和, 0:数组的列和np.cumsum()  # 计算数组元素的累积和
np.cumprod() # 对数组元素进⾏累积
        对数组元素求和计算。
        对数组元素进⾏求和或累积操作。
my_array = np.array([1, 2, 3, 4, 5])cumprod_array = np.cumprod(my_array)

15. 数组平均值(mean)

np.mean() 
np.average()
        计算数组元素的平均值。

16. 数组中值(median)

np.median()    # 计算数组元素的中位数
        计算数组元素的中位数。

17. 数组标准差和⽅差(std、var)

np.std()    # 计算数组元素的标准差np.var()    # 计算数组元素的⽅差
        计算数组元素的标准差。
        计算数组元素的⽅差。

18. 数组元素加减乘除(add)

np.add()         # 数组元素加法
np.subtract()    # 数组元素减法
np.multiply()    # 数组元素乘法
np.divide()      # 数组元素除法
np.power()       # 数组元素幂运算
        对数组元素进⾏加减乘除操作。
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])add_result = np.add(array1, array2)my_array = np.array([1, 2, 3, 4, 5])power_array = np.power(my_array, 2)

19. 数组元素取余(mod)

np.mod()     # 对数组元素进⾏取余操作
np.remainder()
        对数组元素进⾏取余操作。
my_array = np.array([1, 2, 3, 4, 5])mod_result = np.mod(my_array, 2)

20. 数组对数运算(log)

np.log()     # 对数组进⾏⾃然对数运算
np.log10()   # 对数组进⾏以10为底的对数运算
np.log2()    # 对数组进⾏以2为底的对数运算
        对数组进⾏对数运算。

21. 数组指数函数(exp)

np.exp()     # 对数组进⾏⾃然指数函数运算
np.exp2()    # 对数组进⾏以2为底的指数函数运算
        对数组进⾏指数函数运算。

22. 数组⻆度转换(radians)

np.degrees()     # 将弧度转换为⻆度
np.radians()     # 将⻆度转换为弧度
        将⻆度与弧度进⾏转换。

23. 数组三⻆函数(sin)

np.deg2rad()    # 将⻆度转换为弧度np.sin() 
np.cos() 
np.tan() 
np.arcsin() 
np.arccos()
np.arctan()
        对数组进⾏三⻆函数运算。

24. 数组双曲函数(sinh)

np.sinh() 
np.cosh() 
np.tanh() 
np.arcsinh() 
np.arccosh() 
np.arctanh()
        对数组进⾏双曲函数运算。

25. 数组元素舍⼊(round)

np.round()     # 对数组元素进⾏舍⼊操作
np.floor()     # 向下取整
np.ceil()      # 向上取整
np.trunc()     # 截断
        对数组元素进⾏舍⼊操作。
my_array = np.array([1.2, 2.7, 3.5, 4.1, 5.9])round_array = np.round(my_array)

26. 数组元素⽐较(equal)

np.equal()     # 数组元素相等⽐较
np.not_equal() # 数组元素不等⽐较
np.greater()   # 数组元素⼤于⽐较
np.less()      # 数组元素⼩于⽐较
np.greater_equal()     # 数组元素⼤于等于⽐较
np.less_equal()     # 数组元素⼩于等于⽐较
        进⾏元素级别的⽐较操作。

27. 数组拆分(split)

np.split() 
np.vsplit()     # 沿垂直⽅向拆分数组
np.hsplit()     # 沿⽔平⽅向拆分数组
np.array_split()
        将数组拆分为多个⼦数组。
 

28. 数组连接(concatenate、vstack、hstack)

np.concatenate() 
np.vstack()     # 沿垂直⽅向连接数组
np.hstack()     # 沿⽔平⽅向连接数组
np.column_stack()
        连接数组。
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])hstacked_array = np.hstack((array1, array2))vstacked_array = np.vstack((array1, array2))concatenated_array = np.concatenate((array1, array2))

29. 数组形状改变(reshape、ravel)

np.reshape()     # 改变数组形状
np.ravel() 
np.flatten()
        改变数组形状。
my_array = np.array([[1, 2, 3], [4, 5, 6]])reshaped_array = np.reshape(my_array, (3, 2))

30. 数组重复(repeat)

np.repeat()     # 数组元素重复
np.tile()       # 数组重复
        对数组进⾏重复操作。
my_array = np.array([1, 2, 3])repeated_array = np.repeat(my_array, 3)tiled_array = np.tile(my_array, 3)

31. 数组排序(sort、argsort)

np.sort()     # 对数组进⾏排序
np.argsort()  # 获取排序后的索引
np.lexsort() 
np.argmax() 
np.argmin()
        对数组进⾏排序和获取索引。

32. 数组复制(copy)

np.copy()
np.ndarray.copy()
        复制数组。

33. 数组填充(full)

np.full() 
np.fill()
        对数组进⾏填充。
my_array = np.empty((2, 3))filled_array1 = np.full_like(my_array, 5)my_array.fill(5)

34. 数组插⼊(insert、append)

np.insert()     # 在指定位置插⼊元素
np.append()     # 在末尾追加元素
        对数组进⾏插⼊操作。
my_array = np.array([1, 2, 3, 4, 5])inserted_array = np.insert(my_array, 2, [6, 7])appended_array = np.append(my_array, [6, 7])

35. 数组删除(delete)

np.delete()    # 删除指定位置的元素
        对数组进⾏删除操作。
my_array = np.array([1, 2, 3, 4, 5])deleted_array = np.delete(my_array, 2)

二、其他(自查)

1. 数组元素累积⽐较

np.cummax()     # 对数组元素进⾏累积最⼤值⽐较
np.cummin()     # 对数组元素进⾏累积最⼩值⽐较
        对数组元素进⾏累积⽐较。

2. 数组转置(.T)

np.transpose() 
np.ndarray.T
        对数组进⾏转置操作。

3. 数组逆运算

np.reciprocal()
        对数组进⾏逆运算。
my_array = np.array([1, 2, 3, 4, 5])reciprocal_array = np.reciprocal(my_array)

4. 数组指定轴计算

np.apply_along_axis()    # 对数组指定轴应⽤⾃定义函数
        对数组指定轴应⽤⾃定义函数。
my_array = np.array([[1, 2, 3], [4, 5, 6]])# ⾃定义函数
def custom_function(x):return x * 2new_array = np.apply_along_axis(custom_function, axis=1, arr=my_array)

5. 数组逻辑操作

np.logical_and()     # 逻辑与操作
np.logical_or()      # 逻辑或操作
np.logical_xor()     # 逻辑异或操作
np.logical_not()     # 逻辑⾮操作
        进⾏逻辑操作。
array1 = np.array([True, False, True])
array2 = np.array([False, False, True])and_result = np.logical_and(array1, array2)

6. 数组线性代数运算

np.dot()     # 数组的点积运算
np.linalg.inv()     # 数组的逆运算
np.linalg.det()     # 数组的⾏列式
np.linalg.eigvals()     # 数组的特征值
np.linalg.solve()   # 数组的线性⽅程组求解
        对数组进⾏线性代数运算。
b = np.array([5, 7])
solve_array = np.linalg.solve(array1, b)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52784.shtml

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

相关文章

etcd备份恢复操作

etcd集群每个节点上的数据都是相同的,在任意一个正常的节点上备份都能得到8s集群完整的数据 Kubernetes 集群备份主要是备份 ETCD 集群,而恢复时,主要考虑恢复整个顺序: 1,停止所有 Master 上 kube-apiserver 服务 2&…

nuxt3模拟手机验证码

文章目录 前言前端后端前面代码会出现的问题约束button的小插件连接mongodb来写登陆项目开源链接前言 真实应该要连接短信验证码服务,但是众所周知所有的服务和IT都是靠服务来挣钱的,所以我们目前只能模拟手机验证码登陆 考虑到账号的唯一值就想到了手机和验证码(基本上的网站…

Netflix Feign:微服务HTTP调用如何简化?

Netflix Feign:微服务HTTP调用如何简化? 1、什么是Netflix Feign?2、Feign的优点3、示例4、总结 💖The Begin💖点点关注,收藏不迷路💖 1、什么是Netflix Feign? Feign是一个声明式的…

备考AMC10美国数学竞赛2024:吃透1250道真题和知识点(持续)

有什么含金量比较高的初中生数学竞赛吗?美国数学竞赛AMC10是个不错的选择。那么,如何备考AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。 通过做真题,可以帮助孩子找到真实竞赛…

新安装的mariadb 对应的my.cnf 对应的配置

最近在安装openstack,在启动mariadb的时候出现了问题,一直无法启动 看了一个博客说各种原因,尝试了也没有用 看来只有重新安装了, 原来的都删除了,把my.cnf 删除了 后来重新安装的话,执行: …

【智能排班系统】Hibernate Validator 参数校验

🎯导读:本文档介绍了参数校验的重要性及其在软件开发中的作用,强调了数据完整性、安全性、用户体验、系统稳定性及开发效率等方面的关键价值。文档详细阐述了Hibernate Validator这一流行的Java验证框架的使用方法,展示了如何利用…

异业联盟的巅峰之作!某店生活 两年百亿销售额!

大家好 我是一家软件开发公司的产品经理 吴军 最近有个爆火的商业模式 带动了三方消费 平台能赚到钱 消费者能省钱 商家也能获取到客源甚至还能赚钱 他究竟是怎么样做到三方都赚到钱的? 在当前经济形势下,许多消费者变得谨慎,减少了不必…

【K8s】专题十二(4):Kubernetes 存储之 StorageClass

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正! 如果对您有帮助,烦请点赞、关注、转发、订阅专栏! 专栏订阅入口 Linux 专栏 | Docker 专栏 | Kubernetes 专栏 往期精彩文章 【Docker】(全网首发)Kyl…

Git之2.5版本重要特性及用法实例(五十七)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者. 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列…

Debezium日常分享系列之:Debezium 3.0.0.Beta发布

Debezium日常分享系列之:Debezium 3.0.0.Beta发布 一、重大变更Debezium Server Kafka SinkDebezium Server RabbitMQ Sink 二、新功能和改进每个表的详细指标PostgreSQL复制插槽创建超时对于PostgreSQL的PgVector数据类型的支持Oracle Ehcache 事务缓冲实现解码Pos…

滑动窗口元素的平均值 ← STL : deque

【题目描述】 给定一个序列,使用 deque 维护一个大小为 k 的窗口,计算每个窗口中所有元素的平均值。【算法分析】 ● STL deque:https://cplusplus.com/reference/deque/● 在 C 标准模板库(STL)中,deque&a…

VSCode+debugpy远程调试

某一天突然发现VSCode没法远程调试了,原因竟是新版本的VSCode Python调试不再支持ptvsd插件了,所以只能改换门庭接入debugpy。 首先launch.json并无差异,还是和之前用ptvsd时候一样。 {"version": "0.2.0","config…

【架构设计】安全架构设计

安全架构概述 在当今以计算机、网络和软件为载体的数字化服务几乎成为人类社会赖以生存的手段,与之而来的计算机犯罪呈现指数上升趋势,因此,信息的可用性、完整性、机密性、可控性和不可抵赖性等安全保障有位重要,为满足这些诉求&…

【测试】——开发模型与测试模型

📖 前言:在软件开发过程中,理解和应用合适的开发模型与测试模型至关重要。本文将详细介绍几种常见的开发模型,如瀑布模型、螺旋模型、增量模型和敏捷过程,以及测试模型如V模型和W模型。 目录 🕒 1. 开发模型…

Java—可变参数、不可变集合

目录 可变参数 不可变集合 可变参数 Java5 中提供了可变参数,可变参数是一种特殊形参,定义在方法、构造器的形参列表中。 可变参数格式:属性类型...参数名称可变参数示例:int...args 可变参数传参特点 1. 可以不传参数&#…

Nginx: 使用KeepAlived配置实现虚IP在多服务器节点漂移及Nginx高可用原理

使用KeepAlived配置实现虚IP在多服务器节点漂移 1 )环境准备 2台 linux , 一主一备 节点1:192.168.184.30 CentOS 7 Master节点2:192.168.184.40 CentOS 7 BackupVIP 192.168.184.50 安装 KeepAlived, $ yum install keepalived 注意&#x…

时空图卷积网络:用于交通流量预测的深度学习框架-1

摘要 准确的交通预测对于城市交通控制和引导至关重要。由于交通流的高度非线性和复杂性,传统方法无法满足中长期预测任务的需求,且往往忽略了空间和时间的依赖关系。本文提出一种新的深度学习框架——时空图卷积网络(STGCN)来解决交通领域的时间序列预测…

云同步的使用

云同步技术是一种在多个设备或系统之间保持数据一致性的技术,它通常依赖于云存储服务来实现。在Java中,实现云同步功能通常需要与云服务提供商的API进行交互,如Amazon S3、Google Cloud Storage、Microsoft Azure Blob Storage等。 以下是一个…

golang gin template模板渲染

1、根据值控制html元素显示隐藏 main.go package main import ("html/template""net/http""github.com/gin-gonic/gin" ) func main() {r : gin.Default()r.SetFuncMap(template.FuncMap{"greaterThan": func(a, b int) bool {retur…

如何利用chatgpt的提升代码能力

目录 1. 在用python绘图的时候,总是花的时间较长,需要将这些绘图的代码花费时间都记下来吗?还是进行总结、提炼到笔记中,需要的时候复制粘贴并改写?1. 记录与总结并行进行2. 模块化代码3. 性能优化4. 工具与自动化5. 笔记整理6. 复制粘贴与调整2. 利用python进行数据分析的…