NumPy常用操作

目录

一:简介

二:NumPy 常用操作

三:总结


一:简介


是一个开源的Python库,它为Python提供了强大的多维数组对象和用于处理这些数组的函数。NumPy的核心是ndarray,它是一个高效的多维数组容器,用于存储和处理大规模的数据。NumPy还提供了许多数学函数,用于数组之间的操作,以及用于线性代数、傅立叶变换和随机数生成等功能。

二:NumPy 常用操作

1 : 数组操作

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)


名称    描述
object    数组或嵌套的数列
dtype    数组元素的数据类型,可选
copy    对象是否需要复制,可选
order    创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok    默认返回一个与基类类型一致的数组
ndmin    指定生成数组的最小维度

(1):创建一维数组

arr = np.array([1,2,3,4,5,6])
print(arr)

(2)创建多维数组

arr = np.array([[1,2,3],[4,5,6]])
print(arr)

(3)迭代数组
arr = np.array([1,2,3,4,5,6])

for x in np.nditer(arr.T):
    print (x, end=", " )
print ('\n')

(4)修改数组形状


arr = np.array([1,2,3,4,5,6])

b = arr.reshape(2,3)
print(b) 转化为2行3列

(5)数组广播

a = np.array([1,2,3,4]) 
b = np.array([10,20,30,40]) 
c = a * b 
print (c)

(6)算数运算


a = np.arange(9, dtype = np.float_).reshape(3,3)

b = np.array([10,10,10])

add = np.add(a,b)  #相加
sub = np.subtract(a,b)  #相减
mul = np.multiply(a,b)  #相乘
div = np.divide(a,b)   #相除

print (add)
print (sub)
print (mul)
print (div)

(7)统计

a = np.array([[3,7,5],[8,4,3],[2,4,9]])

print (np.amin(a,1)) #按照行
print (np.amin(a,0))  #按照列


(8)数据排序


a = np.array([[3,7,8],[9,1,2]])
print (np.sort(a)) #按照行排序

print (np.sort(a, axis =  0)) #按照列排序

(9) 数据筛选

a = np.array([[30,40,70],[80,20,10],[50,90,60]])

print (a.flatten())

print(np.argmax(a, axis =  0)) #按列求最大值
print(np.argmax(a, axis =  1)) #按行求最大值

2: 运算

(1) 两个数组的点积,即元素对应相乘。
a = np.array([[1,2],[3,4]])
b = np.array([[11,12],[13,14]])
print(np.dot(a,b))

(2) 两个向量的点积


a = np.array([[1,2],[3,4]]) 
b = np.array([[11,12],[13,14]]) 
 
# vdot 将数组展开计算内积
print (np.vdot(a,b))


(3)计算矩阵的乘法逆矩阵

x = np.array([[1,2],[3,4]])
y = np.linalg.inv(x)
print (x)
print (y)
print (np.dot(x,y))

3: 画图
(1) 离散图


import numpy as np
from matplotlib import pyplot as plt

x = np.arange(1, 11)
y = 2 * x + 5
plt.title("离散图")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x, y, "ob")
plt.show()

(2)计算正弦曲线

import numpy as np
import matplotlib.pyplot as plt
# 计算正弦曲线上点的 x 和 y 坐标
x = np.arange(0,  3  * np.pi,  0.1)
y = np.sin(x)
plt.title("正弦曲线")
# 使用 matplotlib 来绘制点
plt.plot(x, y)
plt.show()

三:总结

这里我们只是举例演示部分NumPy的函数操作,NumPy还有很多函数用于复杂的代数运算和其他用途。

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

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

相关文章

力扣【旋转函数】python

如果直接用暴力的话,只能过4个样例好像,超时 因此得用递推公式 F1F0前n-1个数-(n-1)*第n个数 F0sum(nums)-n*第n个数 nlen(nums) ans[]#定义一个存最大值值的列表 ss sum(nums) dm 0 for j in range(n):dm j * nums[j] ans.append(dm) print(dm) n…

springmvc返回json

springmvc返回json 现在很多项目已经前后端分离了,不再使用jsp或者使用jsp但是数据使用ajax来获取,实现局部刷新的效果,那么springmvc中如何不返回页面而返回页面所需要的数据呢。 前后端数据交互现在大多使用json来表示(当然有一部分还是使用…

面试中的算法(查找缺失的整数)

在一个无序数组里有99个不重复的正整数,范围是1~100,唯独缺少1个1~100中的整数。如何找出这个缺失的整数? 一个很简单也很高效的方法,先算出1~100之和,然后依次减去数组里的元素,最后得到的差值,就是那个缺…

目标检测YOLO实战应用案例100讲-基于深度学习的无人机航拍图像目标检测算法研究与应用(中)

目录 4.2旋转角度 4.3数据集预处理 4.4旋转框网络结构设计 4.5实验结果与分析

集合系列(二十五) -二叉树、平衡二叉树、红黑树性能总结

一、摘要 二叉树,作为一种数据结构,在实际开发中,有着非常广泛的应用,尤其是以平衡二叉树、红黑树为代表,在前几篇文章中,我们详细的介绍了BST、AVL、RBT的算法以及代码实践,下面简要概括描述一…

deveco studio 打开官方案例,不显示运行按钮。

就拿官方的search举例好了 git 地址 https://gitee.com/harmonyos/samples/tree/master/ETSUI/Search 使用deveco studio打开Search项目,打开Tools->Device-Manager中的Local Emulator本地模拟器, 此时会发现,运行按钮是灰色的&#xff0…

水利行业工程设计资质如何去申请

申请水利行业工程设计资质通常需要按照以下步骤进行: 事前准备: 制定材料清单,罗列出所需准备的文件。下载相关的申请表和模板。准备企业资料和人员资料等附件材料。人员要求: 确保企业拥有符合水利行业工程设计资质标准要求的注…

源码 axios 的创建过程模拟实现

1、在实例对象上添加两个属性:default(默认配置) 与 interscptors // //构造函数function Axios(config) {//初始化this.defaults config;//为了创建 default 默认属性this.interceptors {request: {},response: {}}} 2、在原型对象上添加方法 //原型添加相关的…

从零学算法994

994. 腐烂的橘子 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子都会腐烂。 返回 直…

微信小程序中的数据可视化组件封装艺术【附代码】

微信小程序中的数据可视化组件封装艺术 一、数据可视化的魅力与重要性数据可视化简述为什么要在小程序中封装数据可视化组件 二、微信小程序数据可视化基础小程序中的绘图工具:Canvas 三、实战:封装一个简易折线图组件设计思路组件结构(line-…

java mybatis配置

MyBatis是一种支持自定义SQL、存储过程和高级映射的持久层框架。下面是一个简单的Java MyBatis配置示例&#xff1a; 首先&#xff0c;需要添加MyBatis的依赖到项目的pom.xml文件中&#xff1a; <dependency><groupId>org.mybatis</groupId><artifactId…

Python3 笔记:顺序结构

三种程序执行结构&#xff1a;顺序结构、选择结构和循环结构。 这三种结构对应的是&#xff1a;顺序执行所有的语句、选择执行部分语句和循环执行部分语句。 顺序结构是程序最基本的结构。就是程序按照语句顺序&#xff0c;从上到下依次执行各条语句。 例如&#xff1a; nu…

【运维实践项目|003】:Nginx集群化运维升级项目

项目名称 项目简称或代号&#xff1a;SUN项目&#xff08;这个可以自己随便编一个&#xff0c;每个公司的每个项目简称或代号都是内部任意起名的&#xff0c;显得专业一点&#xff0c;一般是项目关键词的首拼&#xff0c;比如这个CSUN是&#xff1a;ScaleUp Nginx&#xff09;…

一道dp错题

dis(a,b)就是两点之间的距离公式 那么这道题该怎么解呢,.先看数据范围x,y<1e4,so,18个点两点之间距离最大18*1e4*sqrt(2)<2^18,所以如果跳过的点大于18个点,那么显然一个区间内最多不会跳跃超过17个点 现在我们想知道前i个点跳跃几次在哪跳跃能够达到最小花费,不妨设跳…

【OceanBase诊断调优】—— 转储错误(错误代码 4138/ORA-01555)

当读事务很长时&#xff0c;租户进行转储会报 4138/ORA-01555 错误。本文介绍该错误的处理方法。 适用版本 OceanBase 数据库 V2.X 及以后的版本 问题现象 当读事务很长&#xff0c;租户进行转储时会出现以下错误。 Oracle 租户&#xff1a; ORA-01555&#xff1a;snapsho…

Keil调用跟踪

调试时程序卡在一个位置&#xff0c;恰巧这个函数被很多地方调用&#xff0c;需要知道上一步在哪。 程序暂停后&#xff0c; 查看调用堆栈&#xff0c;点击Keil菜单栏中的“View”&#xff0c;然后选择“Call Stack”&#xff08;调用堆栈&#xff09;选项。这将显示当前的调用…

市场活动系统搭建

精细差异化运营在今天的企业越来越普遍&#xff0c;运营驱动占据了业务经营的主导地位。各种营销活动&#xff0c;帮助我们差异化运营、激发潜在客户、带动连带消费、增加销售额度、提升用户增长、实现品牌宣传。 天猫、京东上有各种各样的促销活动。如&#xff1a;满减、满返、…

算法day04

第一题 &#xff1a; 209. 长度最小的子数组 有上题可知&#xff0c;我们会采用双指针和单调性的思路来解决 我们本题采用左右双指针从数组的0位置同向前进&#xff0c;所以将此类模型称为滑块&#xff1b; 步骤思路如下&#xff1a; 步骤一&#xff1a; 定义所有双指针都指向…

Prompt提示词的技巧

Prompt提示词的技巧 要让GPT类模型产生最符合我们需求的输出&#xff0c;我们需要精心设计和调整输入的提示词&#xff08;Prompt&#xff09;。 1、明确性&#xff1a; 确保你的提示词清晰、具体。GPT类模型会根据你给出的信息来生成文本&#xff0c;因此&#xff0c;提供详…

【实践】使用vscode来debug go程序的尝鲜

配置 首先&#xff0c;当然得配置好vscode 的go环境&#xff0c; 装个go插件就基本满足了 配置 launch.json, 可以配置多个环境的程序启动参数&#xff08;很友好&#xff09; {"version": "0.2.0","configurations": [{"name": &…