三分钟学习一个python小知识4-----------我的对python中numpy的理解, 我列举了关于numpy常用的10个例子来深入理解numpy

news2024/12/26 21:22:08

在这里插入图片描述

这里写目录标题

  • 1、NumPy是什么
  • 2、NumPy的常见应用---必须掌握
    • 2.1.创建一个数组
    • 2.2.数组的属性
    • 2.3.取数组中的元素
    • 2.4.数组的运算
    • 2.5.数组的转置
    • 2.6. 数组的索引和切片
    • 2.7. 数组的重塑
    • 2.8. 数组的广播
    • 2.9. 数组的聚合操作
    • 2.10. 数组的排序
  • 总结

1、NumPy是什么

  1. NumPy是专门用于数值计算的Python库。它提供了实现向量、矩阵和高维数组的高效数据结构和函数,以及用于数学计算的工具。NumPy使得Python语言与MATLAB和R语言相比,更适合探索性数据分析、科学计算和大规模数据处理等领域。
  2. NumPy中的核心数据结构是ndarray(N维数组),它是一个由同种数据类型的元素组成的多维数组。可以使用numpy包来创建ndarray对象,也可以使用Python列表等数据类型创建ndarray对象。

2、NumPy的常见应用—必须掌握

2.1.创建一个数组

import numpy as np
arr = np.array([1, 2, 3])
print(arr)  # 输出:[1 2 3]

2.2.数组的属性

arr.shape # 数组的形状
arr.dtype # 数组元素的数据类型
arr.size  # 数组中元素的总数

2.3.取数组中的元素

arr[0] # 取第一个元素
arr[1:] # 取第二个之后的所有元素
arr[:2] # 取前两个元素

2.4.数组的运算

a = np.array([1,2,3])
b = np.array([2,4,6])
c = a + b # 数组相加
d = a - b # 数组相减
e = a * b # 数组相乘
f = a / b # 数组相除
g = a.dot(b) # 数组点乘

2.5.数组的转置

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

2.6. 数组的索引和切片

可以使用类似于Python列表的方式来索引和切片NumPy数组。

arr = np.array([1, 2, 3, 4, 5])
arr[0]  # 输出:1
arr[1:3]  # 输出:array([2, 3])

2.7. 数组的重塑

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

2.8. 数组的广播

广播是NumPy中的一个非常重要的特性,它允许不同形状的数组之间进行运算。在广播中,NumPy会按照一定的规则自动将不同形状的数组扩展为相同的形状,以便进行运算。

arr1 = np.array([[0, 0, 0],[10,10,10],[20,20,20],[30,30,30]])
arr2 = np.array([0,1,2])
result = arr1 + arr2

2.9. 数组的聚合操作

NumPy提供了很多聚合操作,用于对数组中的元素进行汇总,例如,计算数组中元素的总和、平均值、最大值、最小值等等。

arr = np.array([1, 2, 3, 4, 5])
sum_arr = np.sum(arr)  # 计算数组中元素的总和
mean_arr = np.mean(arr)  # 计算数组中元素的平均值
max_arr = np.max(arr)  # 计算数组中元素的最大值
min_arr = np.min(arr)  # 计算数组中元素的最小值

2.10. 数组的排序

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


总结

在学习NumPy之前,建议先学习Python语言的基础知识。了解Python语言的基础知识,包括Python内建的数据类型、函数、控制语句等等,将有助于更好的理解NumPy的用法。

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

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

相关文章

vue+elementui实现app布局小米商城,样式美观大方,功能完整

目录 一、项目效果在线预览 二、效果图 1.首页效果图 2.分类,动态分类商品数据根据所属分类动态切换 3.购物车,动态添加购物车(增、删、改、查) 4.我的 5.登录注册 6.商品详情 7.搜索(动态模糊搜索、搜索历史…

12---整数转罗马数字

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例…

文件上传漏洞-用骗子的角度分析

(一)文件上传漏洞 文件上传漏洞,发送在用户上传文件功能中,很多网址都对上传的文件格式进行限制,但是被攻击机者找到漏洞,把木马、病毒进行上传,然后控制服务器。对上传的文件格式不是不限制&a…

MySQL实战解析底层---为什么这些SQL语句逻辑相同,性能却差异巨大

目录 前言 案例一:条件字段函数操作 案例二:隐式类型转换 案例三:隐式字符编码转换 前言 在MySQL中,有很多看上去逻辑相同,但性能却差异巨大的SQL语句对这些语句使用不当的话,就会不经意间导致整个数据…

动态规划V (85、91、97)-最近都开始摆烂

CP85 最大矩形 题目描述: 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 学习记录: 对每一个地方都去统计最大举行的话,会有很多多余的计算,题…

windows操作系统线程结构体

上一篇我们介绍了进程结构体,这节我们介绍下线程结构体:ETHREAD。还是去windbg里面去看一下这个结构体的长相: 依旧是一大堆成员,我们只关注一些比较重要的结构体成员。在进程结构体中的第一个成员是一个子结构体Pcb,在线程结构体中&#xff…

【Simulink】基于FCS-MPC的带阻感负载的三相逆变器控制(Matlab Function)

之前写过三相并网逆变器FCS-MPC的博客 👉【Simulink】基于FCS-MPC的三相并网逆变器控制(Matlab Function) 应用的对象是并网的,用一个电压源(Three-Phase Programmable Voltage Source)模拟交流电网。 本篇…

6.S081——设备中断与驱动部分(串口驱动与Console)——xv6源码完全解析系列(7)

0.briefly speaking 之前我们研究过Xv6中的陷阱机制,并搞懂了系统调用的全部流程,接下来我们以UART和console为研究对象,深入研读一下Xv6内核中有关设备中断驱动的代码,并对UART、shell、console、键盘、显示器等设备的协同运作过…

【算法总结】——排列型回溯

文章目录 排列型回溯例题1——46. 全排列例题2——N皇后 分析回溯时间复杂度的另一种技巧 排列型回溯 相比于组合,排列型回溯对于元素的顺序是有要求的。 为了告诉回溯下面还可以选择哪些数字,可以: 记录已经被选择的数字用一个集合存储还…

【Linux】16. 动静态库

1. 库概念的引出 但是如果只是单纯的将多个.o文件提供给使用者,那么如果.o文件过多链接就会变得非常复杂,于是我们考虑将所有的.o文件打包给使用者提供一个库文件即可。 库的本质就是.o文件的集合 2. 动静态库概念 在之前的学习过程中我们认识到动静态…

免费:5000个高清视频素材 (个人免费版权,含9个利基)

免费:5000个高清视频素材 (个人免费版权,含9个利基) 嘿!你喜欢制作视频吗?总是在寻找一些酷炫的素材,但又担心会侵犯版权吗?别担心,我有一个超级好消息要告诉你!现在,我…

代码随想录算法训练营第39天 | 62.不同路径 + 63.不同路径 II

今日任务 目录 62.不同路径 - Medium 63.不同路径 II - Medium 62.不同路径 - Medium 题目链接:力扣-62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器…

【数据结构】排序

插入排序 把当前遍历到的元素前的元素序列是排好序的,把当前元素放到前边的序列中进行排序。 直接插入排序 不带哨兵 void InsertSort(int A[],int n) { int i,j,temp; for(i1;i<n;i) if(A[i]<A[i-1]) { tempA[i]; for(ji-1;j>0 && A[j]>temp;--j) A[j…

深入理解深度学习——BERT派生模型:参数共享ALBERT

分类目录&#xff1a;《深入理解深度学习》总目录 预训练语言模型的一个趋势是使用更大的模型配合更多的数据&#xff0c;以达到“大力出奇迹”的效果。随着模型规模的持续增大&#xff0c;单块GPU已经无法容纳整个预训练语言模型。为了解决这个问题&#xff0c;谷歌提出了ALBE…

深度学习训练营之文本分类识别

深度学习训练营之文本分类识别 原文链接环境介绍前置工作设置环境设置GPU加载数据 构建词典生成数据批次和迭代器模型定义定义实例 定义训练函数和评估函数模型训练模型评估 原文链接 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考…

面具下的flag

打开文件是你的名字动漫的一张图片 用010打开文件&#xff0c;比较可疑的有三处 首先文件头是正确的&#xff0c;只是这边显示的Exif&#xff0c;之前没有特别注意jpg文件有这个头 其次是文件中包含两处flag信息&#xff0c;一个是类似隐藏的文件&#xff0c;一个疑似是第二段f…

Mysql高级查询语句

数据库是用来存储数据&#xff0c;更新&#xff0c;查询数据的工具&#xff0c;而查询数据是一个数据库最为核心的功能&#xff0c;数据库是用来承载信息&#xff0c;而信息是用来分析和查看的。所以掌握更为精细化的查询方式是很有必要的。本文将围绕数据的高级查询语句展开。…

题集-栈和队列的相互转化

这里&#xff0c;队列的性质是先入先出&#xff0c;但是栈的性质是后入先出。两个队列就可以通过相互捯实现数据的后入先出。 typedef int QDataType&#xff1b; //这是一个队列结点的结构 typedef struct QueueNode { struct QueueNode* next; QDataType data; }QNode; //这是…

C++之工厂模式

目录 一、为什么要使用工厂模式 优点 缺点 二、简单工厂&#xff08;Simple Factory&#xff09; 好处&#xff1a; 不足&#xff1a; 三、工厂方法&#xff1a; 好处&#xff1a; 不足&#xff1a; 四、抽象工厂&#xff08;Abstract Factory&#xff09; 一、为什…

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

PoseiSwap是Nautilus Chain上的首个DEX&#xff0c;在Nautilus Chain模块化开发的支持下&#xff0c;PoseiSwap能够以更具延展性的方式来构建应用&#xff0c;并能够为交易者提供极佳的交易体验。基于Nautilus Chain支持下的Zk-Rollup方案&#xff0c;PoseiSwap构建了基于零知识…