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…

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

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

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

一、摘要 二叉树,作为一种数据结构,在实际开发中,有着非常广泛的应用,尤其是以平衡二叉树、红黑树为代表,在前几篇文章中,我们详细的介绍了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…

一道dp错题

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

Keil调用跟踪

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

算法day04

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

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

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

海外客户开发渠道有哪些

海外客户开发是一个多元化的过程&#xff0c;涉及线上与线下多个渠道。以下是一些有效的海外客户开发渠道&#xff1a; 平台电商&#xff1a; 利用国际B2B电商平台&#xff0c;如阿里巴巴国际站、 Globalsources、Made-in-China等&#xff0c;这些平台拥有庞大的国际买家流量&a…

STM32学习和实践笔记(27):USART串口通信实验程序

本实验所要实现的功能是&#xff1a;STM32F1通过USART1实现与PC机对话&#xff0c;STM32F1的USART1收到PC机发来的数据后原封不动的返回给PC机显示。同时使用D1指示灯不断闪烁提示系统正常运行。程序框架如下&#xff1a; &#xff08;1&#xff09;初始化USART1&#xff0c;并…

51单片机实现俄罗斯方块游戏编程

一、设计要求 &#xff08;1&#xff09;利用51单片机&#xff0c;设计一款俄罗斯方块游戏&#xff0c;完成硬件电路的开发和程序的编写调试&#xff1b; &#xff08;2&#xff09;采用LCD12864液晶作为游戏运行界面&#xff1b; &#xff08;3&#xff09;利用按键输入灵活…

Spring Boot集成dubbo快速入门Demo

1.什么是dubbo&#xff1f; Apache Dubbo 是一款微服务开发框架&#xff0c;它提供了 RPC通信 与 微服务治理 两大关键能力。这意味着&#xff0c;使用 Dubbo 开发的微服务&#xff0c;将具备相互之间的远程发现与通信能力&#xff0c; 同时利用 Dubbo 提供的丰富服务治理能力…

HTML飘落的花瓣

目录 写在前面 HTML​​​​​​​简介 完整代码 代码分析 系列推荐 写在最后 写在前面 本期小编给大家推荐HTML实现的飘落的花瓣&#xff0c;无需安装软件&#xff0c;直接下载即可打开~ HTML​​​​​​​简介 HTML&#xff08;Hypertext Markup Language&#xff…

探索Playwright:Python下的Web自动化测试革命

在如今这个互联网技术迅速发展的时代&#xff0c;web应用的质量直接关系着企业的声誉和用户的体验。因此&#xff0c;自动化测试成为了保障软件质量的重要手段之一。今天&#xff0c;我将带大家详细了解一款在测试领域大放异彩的神器——Playwright&#xff0c;并通过Python语言…

一觉醒来 AI科技圈发生的大小事儿 05月13日

&#x1f4f3;博弈论让 AI 更加正确、高效&#xff0c;LLM 与自己竞争 研究团队设计了共识博弈&#xff0c;通过让语言模型的生成器和判别器相互博弈来提高模型的准确性和内部一致性。这种方法不需要对基础模型进行训练或修改&#xff0c;可以在笔记本电脑上快速执行。研究结果…

基于微信小程序+JAVA Springboot 实现的【停车场小程序】app+后台管理系统 (内附设计LW + PPT+ 源码+ 演示视频 下载)

项目名称 项目名称&#xff1a; 停车场微信小程序的设计与实现 在当前信息技术飞速发展的背景下&#xff0c;停车场微信小程序的开发成为了一个创新的解决方案&#xff0c;旨在提高停车场管理的效率和用户的停车体验。本项目通过深入分析现有停车场管理系统的不足&#xff0c…

内存屏障 - LINUX KERNEL MEMORY BARRIERS 上 与 下

内存屏障&#xff08;Memory Barrier&#xff09;是在计算机体系结构中使用的一种同步机制&#xff0c;用于确保在多线程或多核处理器环境中&#xff0c;对共享内存的操作按照预期顺序进行。它们通过强制在特定点执行一些指令来规定内存访问的顺序&#xff0c;并防止内存乱序执…

使用PageHelper分页插件,发现获取到的total总记录数量不对,无法获取到正确的total数量

目录 1.1、错误描述 1.2、解决方案 1.1、错误描述 周一在工作中&#xff0c;写了一个列表分页的接口&#xff0c;其中使用的是PageHelper分页依赖&#xff0c;原本想着挺简单的&#xff0c;也就是使用PageHelper.startPage(pageNum, pageSize);方法就可以了&#xff0c;代码…

Linux下COOLFluiD源码编译安装及使用

目录 软件介绍 基本依赖 其它可选依赖 一、源码下载 二、解压缩&#xff08;通过Github下载zip压缩包格式&#xff09; 三、编译安装 3.1 依赖项-BOOST 3.2 依赖项-Parmetis 3.3 依赖项-PETSc 3.4 安装COOLFluiD 四、算例运行 软件介绍 COOLFluiD&#xff08;面向对象…

学术共振 美妙发声 | 2024美沃斯大会完美收官,米兰柏羽倾力承办

5月10日-5月12日&#xff0c;为期3天的第十七届美沃斯医疗美容大会在杭州国际博览中心盛大举办&#xff0c;作为行业顶级学术交流平台&#xff0c;本届美沃斯大会不仅是医美行业的一次学术交流盛会&#xff0c;更是一次深度探讨行业未来的远眺之窗。 5月9日&#xff0c;即美沃…