小节9:Python之numpy

news2025/1/8 10:28:11

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.coloradmin.cn/o/1030868.html

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

相关文章

面向对象进阶

文章目录 面向对象进阶一.static1.静态变量2.静态方法3.static的注意事项 二.继承1.概述2.特点3.子类可以继承父类中的内容4.继承中成员变量的访问特点5.继承中成员方法的访问特点6.继承中构造方法的访问特点7.this和super使用总结 三.多态1.认识多态2.多态中调用成员的特点3.多…

简单的手机电脑无线传输方案@固定android生成ftp的IP地址(android@windows)

文章目录 abstractwindows浏览android文件环境准备客户端软件无线网络链接步骤其他方法 手机浏览电脑文件公网局域网everythingpython http.server 高级:固定android设备IP准备检查模块是否生效 windows 访问ftp服务器快捷方式命令行方式双击启动方式普通快捷方式映射新的网络位…

27.基于ADS的不等分威尔金森功分器设计

27.基于ADS的不等分威尔金森功分器设计 等分的威尔金森功分器可以使用ADS非常快速的设计出来,但是不等分的功分器却没有便捷的设计方法,在此给出快速的设计方法与案例,方便大家实际设计。 本次的工程链接: https://download.csdn…

Apache Beam 2.50.0发布,该版本包括改进功能和新功能

导读我们很高兴向您介绍 Beam 的新版本 2.50.0。该版本包括改进功能和新功能。请查看此版本的下载页面。 亮点 Spark 3.2.2 被用作 Spark 运行程序的默认版本(#23804)。Go SDK 新增默认本地运行程序,名为 Prism(#24789&#xff0…

【SpringCloud微服务全家桶学习笔记-服务调用Ribbon/openFeign】

SpringCloud微服务全家桶学习笔记 内容:SpringCloud SpringCloud alibaba 技术栈:Java8mavengit,githubNginxRabbitMQSpringBoot2.0 仓库:链接 服务调用Ribbon 是什么? Ribbon是Netflix发布的开源项目&#xff…

WEB使用VUE3实现地图导航跳转

我们在用手机查看网页时可以通过传入经纬度去设置目的地然后跳转到对应的地图导航软件,如果没有下载软件则会跳转到下载界面 注意: 高德地图是一定会跳转到一个新网页然后去询问用户是否需要打开软件百度和腾讯地图是直接调用软件的这个方法有缺陷&…

Excel打开后关闭就马上跳出 Visual c++ Runtime Error R6025

环境: Win10 专业版 Excel 2016 绿盾加密环境 问题描述: Excel打开后关闭就马上跳出 visual c runtime error R6025 runtime error! program:c:\program files\microsoft office\office14\excle.exe r6025 -pure virtual function call 解决方案…

电脑如何录屏?推荐3个方法

随着电脑技术的不断发展,屏幕录制成为了一项重要的技能,无论是为了制作教育教程、分享游戏成就,还是记录计算机上的重要操作。电脑录屏能够让您捕捉屏幕上的所有活动,这对于培训、演示和内容创作非常有用。在本文中,我…

JAXB(Java Architecture for XML Binding)下载、使用

简介 JAXB(Java Architecture for XML Binding)就是XML数据绑定的java架构。JAXB可以根据XML Schema生成java类,也能根据java类生成XML Schema,XML数据绑定指定了XML请求和XML响应如何映射成java对象。 JAXB提供了API和工具&…

有了Spring为什么还需要SpringBoot呢

目录 一、Spring缺点分析 二、什么是Spring Boot 三、Spring Boot的核心功能 3.1 起步依赖 3.2 自动装配 一、Spring缺点分析 1. 配置文件和依赖太多了!!! spring是一个非常优秀的轻量级框架,以IOC(控制反转&…

WPF中DataGrid控件绑定数据源

步骤 创建数据源:首先,我们需要创建一个数据源,可以是一个集合(如List、ObservableCollection等),也可以是一个DataTable对象。数据源中的每个元素代表一行数据。 设置DataGrid的ItemsSource属性&#xff…

el-select的某一项选中后显示id

环境: vue3element-plus 今天在使用elementui的下拉组件的时候发现有一个选项在选中后显示的是id.找了会没看到问题,后来想到会不会是没有设置key的原因(之前看到说vue3可以不用设置key),果然加上key就可以了

电容笔哪个厂家的产品比较好?开学季值得买电容笔

现在,几乎每个人都有一个ipad平板,可以帮助你解决很多工作和学习上的难题,比如工作时的整理文档,做一些简单的PPT,以及在学习上记录笔记等等。所以,用一支好用的电容笔来搭配iPad是非常重要的。在这里&…

【2023华为杯A题】WLAN网络信道接入机制建模(代码、思路.....)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

sed的不同执行方式

1. 命令行执行多条sed命令 1.1 命令行通过多条-e选项 sed -e command1 -e command2 -e command3 匹配root或nobody,或mail: sed -n -e /^root/ p -e /^nobody/ p -e /^mail/p /etc/passwd 1.2 用\换行 Shell的换行符依然有效,这有利于…

【vue】vue+easyPlayer 实现宫格布局及视频播放

由于业务需要,ant-design-vue框架集成easyPlayer.js作为视频播放器。EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS视频直播与视频点播等多种协议,支持H.264、H.265、AAC等多种音视频编码格…

在线安装qt5.15之后任意版本

下载qt现在安装包: window安装包链接 进入cmd,用命令行打开安装包,并指定组件下载地址(这个是关键,之前用的是腾讯镜像,出现了版本灰色无法选中问题) .\qt-unified-windows-x64-4.6.1-online…

代码签名:保护你的软件的安全性和完整性

代码签名是一种数字签名技术,用于保护软件的完整性和身份。它通过使用一个密钥对软件代码进行签名,确保代码在下载和安装过程中没有被篡改。代码签名证书是一种数字证书,用于证明代码签名者的身份和代码的完整性。以下是代码签名证书如何保护…

【多思路附源码持续更新】2023年华为杯(中国研究生数学建模)竞赛C题

赛题 若官网拥挤,数据集和赛题下载地址如下: https://download.csdn.net/download/weixin_47723732/88364777 大规模创新类竞赛评审方案研究 现在创新类竞赛很多,其中规模较大的竞赛,一般采用两阶段(网评、现场评审&a…

网页编辑软件Whisk mac中文版功能介绍

Whisk for Mac中文版是一款网页编辑器,Whisk mac版具有实时预览,可在您键入时更新。Whisk是您工具包中用于HTML,PHP,CSS和javascript编程的必备应用程序。 Whisk for Mac功能介绍 预览窗格使用与Safari相同的引擎快速按输入内容呈…