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

在这里插入图片描述

这里写目录标题

  • 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的用法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring MVC简介附入门案例

目录 一、SpringMVC简介 1.1 MVC模型 1.2 SpringMVC 二、SpringMVC入门案例 2.1 创建项目 2.2 引入依赖和tomcat插件 2.3 修改web.xml文件 2.4 新建springmvc.xml文件 2.5 编写控制器 2.6 配置运行方式 2.7 运行测试 三、SpringMVC执行流程 3.1 SpringMVC的组件…

Kangas:计算机视觉中的pandas

Kangas:计算机视觉中的pandas 介绍Kangas的优点 使用Kangas读取CSV文件读取图像文件Kangas DataGrid训练模型 介绍 在计算机视觉领域,Kangas是一种在图像数据处理和分析方面越来越受欢迎的工具之一。就像Pandas改变了数据分析人员处理表格数据的方式一样…

macOS FreeBSD 如何刷新 DNS 缓存

macOS FreeBSD 如何刷新 DNS 缓存 全文:如何刷新 DNS 缓存 (macOS, Linux, Windows) Unix Linux Windows 如何刷新 DNS 缓存 (macOS, FreeBSD, RHEL, CentOS, Debian, Ubuntu, Windows) 请访问原文链接:https://sysin.org/blog/how-to-flush-dns-cach…

AI绘画:切换黑色风格,安装更棒的主题!

从Stable Diffusion 出现的第一天起,我就开始关注这个项目,后来也出过几期教程。 一直以来都是只追求功能实现,不管界面的问题。现在我突然想要换一个帅气的主题了…就是这么突然! 默认的白色主题太….普通…既没有设计感啊&…

智能井盖传感器:以科技破解城市顽疾

在城市的道路网络中,井盖扮演着重要的角色,用于覆盖下方的管道和设施,然而,由于井盖的老化、损坏或被盗,常常会导致安全问题的发生,如路面塌陷、行人受伤等。井盖的状态监测和维护一直是城市管理者面临的挑…

社区分享|JumpServer开源堡垒机一直都是我的第一选择

编者注:本文由JumpServer开源堡垒机社区用户James Wei供稿。 “我最开始接触到的堡垒机就是JumpServer,最了解的也是JumpServer,已经完全习惯了JumpServer的使用习惯,这也是我一直选择JumpServer的一个重要原因。” ——JumpSer…

跟着AIGC学Linux:简介(一)

文章目录 1.Linux内核的历史2.基本概念3.发行版4.Linux应用领域5.Linux VS Windows横向对比表格: 1.Linux内核的历史 Linux内核最初由一位名叫Linus Torvalds的芬兰计算机科学家于1991年创建。当时,Torvalds是一名赫尔辛基大学的学生,他在寻…

Microsoft365有用吗?2023最新版office有哪些新功能?

office自97版到现在已有20多年,一直是作为行业标准,格式和兼容性好,比较正式,适合商务使用。包含多个组件,除了常用的word、excel、ppt外,还有收发邮件的outlook、管理数据库的access、排版桌面的publisher…

【Windows】虚拟串口工具VSPD7.2安装

【Windows】虚拟串口工具VSPD7.2安装 1、背景2、VSPD7.2安装3、创建虚拟串口 1、背景 ​Virtual Serial Ports Driver​是由著名的软件公司Eltima制作的一款非常好用的​虚拟串口工具​,简称:VSPD。 VSPD其功能如同 Windows机器上COM 串行端口的仿真器…

永磁同步直线电机学习笔记——什么是直线电机?

永磁同步直线电机(Permanent Magnet Linear Synchronous Motor,简称PMLSM)是一种电动机,它通过将永磁体和线圈组合在一起,将电能转化为机械运动。与传统的旋转电机不同,PMLSM是一种直线运动电机&#xff0c…

【Java高级语法】(十七)Stream流式编程:释放流式编程的效率与优雅,狂肝万字只为全面讲透Stream流!~

Java高级语法详解之Stream流 1️⃣ 概念及特征2️⃣ 优势和缺点3️⃣ 使用3.1 语法3.2 常用API详解3.3 案例 4️⃣ 应用场景5️⃣ 使用技巧6️⃣ 并行流 ParallelStream🌾 总结 1️⃣ 概念及特征 Java的Stream流是在Java 8中引入的一种用于处理集合数据的功能强大且…

【小沐学Web】Node.js搭建HTTPS 服务器

文章目录 1、简介1.1 HTTPS协议1.2 Node.js中的HTTPS 2、生成自签名证书2.1 key文件2.2 csr文件2.3 crt文件 4、代码测试4.1 Node.js简介4.2 Node.js的http模块4.3 Node.js的Express模块4.4 Node.js的https模块4.5 Node.js的httpsexpress模块 结语 1、简介 1.1 HTTPS协议 HTTP…

HackTheBox - 学院【CPTS】复习3 - XSS、文件包含、文件上传、命令注入

XSS 登录表单 document.write(<h3>Please login to continue</h3><form actionhttp://OUR_IP><input type"username" name"username" placeholder"Username"><input type"password" name"password&…

web漏洞之文件上传漏洞

文章目录 一、漏洞原因二、漏洞危害三、漏洞利用1.三个条件2.利用方式3.绕过方式a.绕过JS验证① BP绕过② F12绕过③ 菜刀上传实操 b.绕过MIME-Type验证c.绕过黑名单验证① 直接修改后缀名绕过② htaccess绕过(有拦截)③ 大小写绕过(有拦截)④ 空格绕过⑤ .号绕过⑥ 特…

Golang -> Golang 变量

Golang 变量 Golang 变量使用的三种方式变量的声明&#xff0c;初始化和赋值程序中 号的使用数据类型的基本介绍int 的无符号的类型&#xff1a;int 的其它类型的说明:整型的使用细节 小数类型/浮点型小数类型分类浮点型使用细节 字符类型字符类型使用细节字符类型本质探讨 布…

前端Vue自定义简单实用轮播图封装组件 快速实现轮播图

前端Vue自定义简单实用轮播图封装组件 快速实现轮播图&#xff0c; 下载完整代码请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13153 效果图如下&#xff1a; # cc-mySwiper #### 使用方法 使用方法 <!-- 自定义轮播图 swiperArr: 轮播数…

做项目,最难搞定的不是甲方爸爸...

早上好&#xff0c;我是老原。 前几天和一个老朋友吃饭的时候&#xff0c;他和我吐槽他上个月做的一个项目&#xff0c;实在太累了&#xff0c;几乎是没日没夜地赶进度&#xff0c;身体都快垮了。 我问他既然时间来不及&#xff0c;为什么不前期就和客户沟通好。 他说其实客…

什么是HTTP 500内部服务器错误,要怎么修复

HTTP 500是一种原始的错误代码&#xff0c;它指示网站服务器在处理请求时发生了内部错误&#xff0c;不过具体错误原因是不确定的。一般情况下&#xff0c;这种错误通常是由服务器程序上的bug或者配置问题造成的。当服务器收到请求时&#xff0c;尝试执行它时&#xff0c;但是发…

快速入门JavaScript异步编程:从回调到async/await的跨越

文章目录 I. 介绍异步编程的背景和基本概念本文主要讨论JavaScript中的异步编程 II. 回调函数回调函数的定义、作用以及使用场景回调地狱的问题及解决方案 III. PromisePromise的定义、作用以及使用场景Promise的状态及状态转换Promise的链式调用和错误处理 IV. async/awaitasy…

B049-cms04-浏览次数 富文本 轮播图 上传

目录 浏览次数页面加载发送请求后台处理请求前台展示 展示日期富文本编辑static下引入富文本资源文件夹模态框文本域替换成如下内容底部引入相关文件调整模态框样式把富文本选项移到模态框前面上传表情或图片等富文本添加操作手动清空富文本编辑器内容修改操作手动回显富文本编…