小节9:Python之numpy

numpy全称为Numerical Python,是很多数据或科学相关Python包的基础。

1、numpy数组(ND array N维数组)

numpy数组是更适合数据分析的列表。

numpy的数组和Python的内置列表有相似之处,也有不同之处。

相似之处:我们都可以通过索引去获得某个元素,可以通过切片获得某个范围的多个元素,也可以去迭代各个元素。

不同之处:numpy数组里的元素必须是同一类型的,比如全都是数字(int和float可以写在同一数组中,但类型都变成了float类型),全都是字符串等等,列表则没有这个要求。

numpy数组的优势:在对numpy数组进行大规模的数学运算或其它操作时,其执行速度远高于Python内置列表,因此,使用numpy做数据处理的首要原因它的效率更高。此外,numpy也提供了很多专门做运算的函数,如:求平均值、标准差等,为操作数据提供了很多便利。

创建一维数组:

import numpy as np
array_a = np.array([1, 2, 3])
array_b = np.array([1, 2, 2.5])
print(array_a)
print(array_b)

输出: 

 

创建二维数组(小技巧:看左边或右边有几个方括号,有几个就会被转换为几维数组):

此外,二维数组中,如果有其中一个列表中有float型,则另一个列表中的int类型元素也会被转换为float类型

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

输出:

2、numpy数组的一些属性(点后面名称不带括号的是属性)

1)变量名.ndim会返回给我们数组的维度

print(array_a.ndim)
print(array_2a.ndim)

2)变量名.shape会返回一个元组,表示各个维度元素的个数

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

对于上面的一维数组,由于它在一维上有3个元素,所以返回 (3,),而那个二维数组在一维有两个元素(即两个列表),在二维有3个元素(即每个列表有3个元素),所以返回 (2, 3)

PS:如果array_2a = np.array([[1, 2, 3], [4, 5]]),则会报错,因为一个列表有3个元素,而另一个列表只有2个元素,二者元素数量不一样。

3)变量名.size会返回给我们数组中元素的总个数

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

 

4)变量名.dtype会返回给我们数组元素的类型

array_a = np.array([1, 2, 3])
print(array_a.dtype)
array_2a = np.array([[1, 2, 3], [4, 5, 5.5]])
print(array_2a.dtype)

3、numpy数组的一些方法(点后面名称带括号的是方法)

1)np.zeros()的括号中传入一个数字n,它就会返回一个全都是0的,长度为n的数组(元素类型是float)

array_0 = np.zeros(3)
print(array_0)
print(array_0.dtype)

输出:

2)np.ones()同上,元素为1

array_1 = np.ones(3)
print(array_1)
print(array_1.dtype)

输出:

3)np.arange()创建元素为数字序列的数组。参数1是起始值(在范围内),参数2是结束值(不在范围内),参数3是步长

array_arange = np.arange(1, 10, 2)
print(array_arange)

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

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

相关文章

K8s的网络——Underlay和Overlay网络

0. 基础知识 1)网络7层基础知识 在网络7层协议基础里, 第一层物理链路;第二层是数据链路层,在第一层的基础上引入MAC地址做数据转发。MAC地址在局域网内具有唯一性,主机A发送数据时,会向局域网内进行广播…

【LeetCode-简单题】589. N 叉树的前序遍历

文章目录 题目方法一:单循环栈做法方法二:递归 题目 方法一:单循环栈做法 关键在于子节点的入栈顺序,决定了子节点的出栈顺序, 因为是前序遍历 所以压栈顺序先让右边的入栈 依次往左 这样左边的节点会在栈顶 这样下次…

小白的入门二叉树(C语言实现)

前言: 二叉树属于数据结构的一个重要组成部分,很多小白可能被其复杂的外表所吓退,但我要告诉你的是“世上无难事,只怕有心人”,我将认真的对待这篇博客,我相信只要大家敢于思考,肯定会有所收获…

成都瀚网科技:抖音提供差异化​​亮点!

在抖音平台上,精选联盟是一个专门为优质品牌提供展示和推广机会的合作项目。对于斗店主来说,如何成功对接精选联盟并实现上市是一个重要目标。在这篇文章中,我们将分享一些豆点与精选联盟对接的方法,并提供上币指南。 1、提升店铺…

2023 蓝帽杯初赛web部分取证复现

前言&#xff1a;初赛进线下了&#xff0c;计划着在决赛前突击学习一下取证&#xff0c;但时间还是太紧 只看了很多内存取证和手机取证 计算机取证和服务器取证没掌握 ---( 不过复赛没考&#xff0c;也算狗运了) 目录 <1> web-LovePHP(file()函数侧信道攻击) <2&g…

基于微信小程序的美术馆预约平台设计与实现(源码+lw+部署文档+讲解等)

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…

【LeetCode热题100】--53.最大子数组和

53.最大子数组和 使用动态规划&#xff1a; 状态定义&#xff1a;设动态规划列表dp&#xff0c;dp[i]代表以元素nums[i]为结尾的连续子数组最大和 转移方程&#xff1a;若dp[i-1]≤0,说明dp[i-1]对dp[i]产生负贡献&#xff0c;即dp[i-1]nums[i]还不如nums[i]本身大 初始状态&…

Redis GEO 类型与 API 结合,地理位置优化的绝佳实践

&#x1f52d; 嗨&#xff0c;您好 &#x1f44b; 我是 vnjohn&#xff0c;在互联网企业担任 Java 开发&#xff0c;CSDN 优质创作者 &#x1f4d6; 推荐专栏&#xff1a;Spring、MySQL、Nacos、Java&#xff0c;后续其他专栏会持续优化更新迭代 &#x1f332;文章所在专栏&…

基于PHP语言研发的抖音矩阵系统源代码开发部署技术文档分享

一、概述 本技术文档旨在介绍抖音SEO矩阵系统源代码的开发部署流程&#xff0c;以便开发者能够高效地开发、测试和部署基于PHP语言的开源系统。通过本文档的指引&#xff0c;您将能够掌握抖音SEO矩阵系统的开发环境和部署方案&#xff0c;从而快速地构建出稳定、可靠的短视频S…

网络爬虫-----爬虫的分类及原理

目录 爬虫的分类 1.通用网络爬虫&#xff1a;搜索引擎的爬虫 2.聚焦网络爬虫&#xff1a;针对特定网页的爬虫 3.增量式网络爬虫 4.深层网络爬虫 通用爬虫与聚焦爬虫的原理 通用爬虫&#xff1a; 聚焦爬虫&#xff1a; 爬虫的分类 网络爬虫按照系统结构和实现技术&#…

竞赛选题 基于深度学习的植物识别算法 - cnn opencv python

文章目录 0 前言1 课题背景2 具体实现3 数据收集和处理3 MobileNetV2网络4 损失函数softmax 交叉熵4.1 softmax函数4.2 交叉熵损失函数 5 优化器SGD6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习的植物识别算法 ** …

vue3硅谷甄选01 | 使用vite创建vue3项目及项目的配置 环境准备 ESLint配置 prettier配置 husky配置 项目集成

文章目录 使用vite创建vue3项目及项目的配置1.环境准备2.项目配置ESLint校验代码工具配置 - js代码检测工具1.安装ESLint到开发环境 devDependencies2.生成配置文件:.eslint.cjs**3.安装vue3环境代码校验插件**4. 修改.eslintrc.cjs配置文件5.生成ESLint忽略文件6.在package.js…

PIL或Pillow学习2

接着学习下Pillow常用方法&#xff1a; PIL_test1.py : 9, Pillow图像降噪处理由于成像设备、传输媒介等因素的影响&#xff0c;图像总会或多或少的存在一些不必要的干扰信息&#xff0c;我们将这些干扰信息统称为“噪声”&#xff0c; 比如数字图像中常见的“椒盐噪声”&…

Postman使用_接口导入导出

文章目录 Postman导入数据Collections导出数据Environments导出数据Postman导出所有数据 Postman导入数据 可以导入collections&#xff08;接口集&#xff09;、Environments&#xff08;环境配置&#xff09;通过分享的链接或导出的JSON文件导入数据&#xff08;还可以从第三…

Pixea Plus for Mac:极简图片浏览,高效图片管理

在处理和浏览图片时&#xff0c;我们往往需要一个得心应手的工具&#xff0c;尤其是当你的图片库包含了各种不同格式&#xff0c;例如JPEG、HEIC、psd、RAW、WEBP、PNG、GIF等等。今天&#xff0c;我们要推荐的&#xff0c;就是一款极简、高效的Mac图片浏览和管理工具——Pixea…

Crazy Excel:Excel中的泥石流

Crazy Excel又名&#xff1a;疯狂Excel。是一款PC端的Excel软件工具&#xff0c;该软件支持windows, mac os等主流操作系统。 正如其名&#xff0c;作者在设计之初就加入了一些疯狂的设计&#xff0c;目的是创作出更加好用有效的excel工具。 不管是专业还是小白&#xff0c;…

前后台分离开发 YAPI平台 前端工程化之Vue-cli

目录 YAPI介绍前端工程化之Vue-cli前端工程化简介前端工程化入门——Vue-cli环境准备Vue项目简介创建Vue项目vue项目目录结构介绍vue项目运行方法 Vue项目开发流程 前后台混合开发这种开发模式有如下缺点&#xff1a; 沟通成本高&#xff1a;后台人员发现前端有问题&#xff0…

【Redis】第5讲 Redis的下载并安装

下载Redis中文网https://www.redis.net.cn/ 百度网盘下载&#xff1a; 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百度网盘即可享受免费存储空间https://p…

malloc与free

目录 前提须知&#xff1a; malloc&#xff1a; 大意&#xff1a; 头文件&#xff1a; 申请空间&#xff1a; 判断是否申请成功&#xff1a; 使用空间&#xff1a; 结果&#xff1a; 整体代码&#xff1a; malloc申请的空间怎么回收呢? 注意事项&#xff1a; free:…

VirtualBox Win7 虚拟机 共享文件夹设置

系统配置 VirtualBox虚拟机版本&#xff1a;6.1.46 主机Host&#xff1a;Win11 虚拟机&#xff1a;Win7-32位 添加虚拟光驱 为虚拟机添加虚拟光驱&#xff0c;光驱中导入VBoxGuestAdditions.iso文件。 该文件默认路径为&#xff1a; X:\Program Files\Oracle\VirtualBox\V…