NumPy和数组

1.NumPy是什么

NumPy(Numerical Python的缩写)是一个开源的Python科学计算模块,其中包含了许多实用的数学函数,用来处理数值型数据。NumPy中,最重要和使用最频繁的对象就是N维数组。


为什么要学习NumPy?

1. 很多更高级的扩展模块都依赖于NumPy,比如pandas

2. NumPy中有计算平均数、中位数等数学相关的内置函数,可以在代码中省去很多的循环语句,帮助我们更加快速和科学地进行计算

3. NumPy提供了一个叫做N维数组的数据结构,它和Python中的列表list类似,但前者的输入输出性能远优于后者


2.N维数组

(1)简介

[...]表示一维数组,和Python中的列表长得很像。[[...]]表示二维数组。

在使用print()输出时,它们的区别在于数组之间的元素是用空格分隔,而列表是以逗号分隔。

一维数组的所有元素都在同一「行」里,一行中可以有很多元素。

在实际上进行输出的时候,数组里面的元素是使用空格分割开来的,但是列表里面的元素是使用的都好进行分割的,因此这个也就是我们从表面上进行区分这个列表和数组的区别;

3.N维数组的创建

(1)想要进行这个数组的创建,首先要安装这个numpy模块,安装numpy非常简单,在终端中输入代码:pip install numpy即可。

安装完后,下一步就是导入numpy。根据NumPy官方文档的倡导,在导入numpy时通常会使用「np」作为numpy的简写,方便以后调用。

这个在进行这个数组的创建的时候,需要去调用相应的函数np.array()函数,这个函数的参数可以是列表,元组等数据结构;下面的这个案例传递进去的参数就是一个二维数组;

# TODO 使用import导入numpy,并使用"np"作为该模块的简写
import numpy as np

# TODO 将题目中的序列作为参数传入np.array()函数中,并将生成的二维数组赋值给变量arr
arr=np.array([[1,2],[4,5],[7,9],[11,12]])

# TODO 使用print()输出变量arr
print(arr)

4.数组的相关计算

(1)数组和数进行计算

数组和数字进行运算的时候就会把这个数组里面的每一个元素都和这个数字进行相应的运算;

下面的这个就是数组和1这个数字进行运算,这个时候数组里面的每一个元素都会减去1;

# 使用import导入numpy,并使用"np"作为该模块的简写
import numpy as np

# 使用np.array()函数创建数组arr
arr = np.array([[2, 1, 7],
                [4, 2, 2]])

# TODO 输出如题所示的运算结果:[[1 0 6]  [3 1 1]]
print(arr-1)

(2)相同形状的数组进行计算

这个就要求数组的形状相同,然后对应位置的元素进行计算

# 使用import导入numpy,并使用"np"作为该模块的简写
import numpy as np

# 使用np.array()函数创建数组arrOne
arrOne = np.array([[5, 0], [0, 5]])
# 使用np.array()函数创建数组arrTwo
arrTwo = np.array([[10, 5], [20, 5]])

# TODO 输出如题所示的运算结果:[[15 5]  [20 10]]
print(arrOne+arrTwo)

5.Pandas模块

(1)下面展示的就是一个简单的字典,字典有索引,我们上面介绍的数组是可以进行计算的,有没有什么既可以使用索引,同时可以进行计算的结构呢:Pandas模块就有这个功能;

(2)Pandas简介

pandas是一个基于NumPy的模块,它的功能在于数据的筛选清洗和处理,与NumPy模块相比,pandas模块更擅长处理二维数据。

pandas模块主要有Series和DataFrame两种数据结构。

在使用pandas模块最开始,由于pandas不是Python的内置模块,我们需要在代码的开头,将pandas模块导入。

为了让其方便调用,我们通常会将其简写成pd。

# TODO 导入pandas模块,简称pd

import pandas as pd

6.Series序列

(1)简单介绍

Series,中文叫做序列,pandas模块的一种数据类型,

是一个一维的、带索引(index)的数组对象。

(2)实际上这个series序列和字典就是类似的,因为这个都是有索引和对应的数值的;

唯一不同的就是,这个字典里面的东西是没有顺序的,但是这个series里面的东西是有顺序的,我们既可以是使用索引找到对应的数值,也可以使用这个下标找到,因为在默认的情况下面,这个下标就是从0开始的;

(3)Series构造函数

下面的就是这个函数的简单的应用,先导入这个模块,传递进去两个列表,这个函数里面第一个参数就是数值,第二个参数就是对应的索引,只不过在这个地方我们使用这个城市的名字作为索引而已,不指定的话就是用默认的01234………………

# 导入pandas模块,简称pd
import pandas as pd

# 定义两个列表
GDP =[80855, 77388, 68024, 47251, 40471]
rank =[1, 2, 3, 4, 5]

# TODO 使用Series构造函数,传入参数:列表GDP作为值,列表rank作为index

# 构造出的Series赋值给info

info = pd.Series(GDP, index = rank)

# 输出info这个Series
print(info)

 (4)函数的参数还可以传递进去数组

下面我们就是用上面的数组的创建的方法,导入数组进行测试,其实这个列表是更常见的参数,只不过这个数组也是会被允许的;

第一行导入的就是序列模块,第二次导入的就是创建数组的模块,然后调用创建数组的函数,和我们的序列的构造函数,数组函数传递的就是一个一维数组,序列构造函数的参数就是一个列表;

# 导入pandas模块,简称pd

import pandas as pd

# 导入numpy模块,简称np

import numpy as np

# TODO 创建一维数组,并赋值给GDP

GDP = np.array([80855,77388,68024,47251,40471])

# 定义列表rank

rank =[1, 2, 3, 4, 5]

# TODO 使用Series构造函数,传入参数:数组GDP作为值,列表rank作为index

# 构造出的Series赋值给info

info = pd.Series(GDP,index = rank)

# 输出info这个Series

print(info)

(5)常量作为函数的参数

我们先导入模块,传递的参数就是常量数组,第一个参数是打印出来的数值,第二个参数就是索引

# 导入pandas模块,简称pd

import pandas as pd

# TODO 使用Series构造函数,传入参数:常量6作为值,列表["a", "b", "c", "d"]作为index,构造出的Series赋值给s

s = pd.Series(6, index=["a", "b", "c", "d"])

# 输出s这个Series

print(s)

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

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

相关文章

Java高级技术探索:深入理解JVM内存分区与GC机制

文章目录 引言JVM内存分区概览垃圾回收机制(GC)GC算法基础常见垃圾回收器ParNew /Serial old 收集器运行示意图 优化实践结语 引言 Java作为一门广泛应用于企业级开发的编程语言,其背后的Java虚拟机(JVM)扮演着至关重…

TikTok Ads广告综合指南:竞价策略及效果建议

作为全球最受欢迎的应用程序之一,TikTok不仅为用户提供了记录分享生活中美好时刻、交流全球创意的平台,也给全球的企业提供了一个直接触达用户的平台。随着Z时代用户人群的购买力不断上升,出海广告主们也逐渐将目光放在TikTok方面的营销。 上…

【Linux系统编程】线程

Linux线程 文章目录 Linux线程1.进程与线程区别2.线程优点3.API概要4.线程1.线程的创建2.线程等待内存共享验证3.线程退出关于对void** &的理解拓展 4.互斥锁1.创建及销毁互斥锁2.加锁及解锁 5.什么情况下会造成死锁6.条件**1. 创建及销毁条件变量****2. 等待****3. 触发**…

基于大数据的主流电商平台获取商品详情数据SKU数据价格数据

主流电商平台:淘宝 1688 闲鱼 京东 唯品会 蘑菇街 一号店 阿里妈妈 阿里巴巴 苏宁 亚马逊 易贝 速卖通 电子元件 网易考拉 洋码头 VVIC MIC Lazada 拼多多 ​ ​​​​​​​关于电商大数据的介绍: 主流电商大数据的采集:电商API接口的接入…

潮玩宇宙大逃杀APP系统开发成品案例分享指南

这是一款多人游戏,玩家需要选择一个房间躲避杀手。满足人数后,杀手会随机挑选一个房间杀掉里面所有的参与者,其他房间的幸存者将平均瓜分被杀房间的元宝。玩家在选中房间后,倒计时结束前可以自由切换不同房间。 软件项目开发成品…

【Linux】进程控制3——进程程序替换

一,前言 创建子进程的目的之一就是为了代劳父进程执行父进程的部分代码,也就是说本质上来说父子进程都是执行的同一个代码段的数据,在子进程修改数据的时候进行写时拷贝修改数据段的部分数据。 但是还有一个目的——将子进程在运行时指向一个…

自动控制原理【期末复习】(二)

无人机上桨之后可以在调试架上先调试: 1.根轨迹的绘制 /// 前面针对的是时域分析,下面针对频域分析: 2.波特图 3.奈维斯特图绘制 1.奈氏稳定判据 2.对数稳定判据 3.相位裕度和幅值裕度

JavaScript的数组排序

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Sora和快手可灵背后的核心技术 | 3DVAE:通过小批量特征交换实现身体和面部的三维形状变分自动编码器

【摘要】学习3D脸部和身体生成模型中一个解开的、可解释的和结构化的潜在表示仍然是一个开放的问题。当需要控制身份特征时,这个问题尤其突出。在本文中,论文提出了一种直观而有效的自监督方法来训练一个3D形状变分自动编码器(VAE),以鼓励身份特征的解开潜在表示。通过交换不同…

自学网络安全的三个必经阶段(含路线图)

一、为什么选择网络安全? 这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地,网络安全行业地位、薪资随之水涨船高。 未来3-5年,是安全行业的黄金发展期,提前踏入…

Python:基础爬虫

Python爬虫学习(网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字…

上海晋名室外危废品暂存柜助力储能电站行业危废品安全储存

近日又有一台SAVEST室外危废暂存柜项目成功验收交付使用,此次项目主要用于储能电站行业废油、废锂电池等危废品的安全储存。 用户单位在日常工作运营中涉及到废油、废锂电池等危废品的室外安全储存问题。4月中旬用户技术总工在寻找解决方案的过程中搜索到上海晋名的…

uniapp地图自定义文字和图标

这是我的结构&#xff1a; <map classmap id"map" :latitude"latitude" :longitude"longitude" markertap"handleMarkerClick" :show-location"true" :markers"covers" /> 记住别忘了在data中定义变量…

46.Python-web框架-Django - 多语言配置

目录 1.Django 多语言基础知识 1.1什么是Django国际化和本地化&#xff1f; 1.2Django LANGUAGE_CODE 1.3关于languages 1.4RequestContext对象针对翻译的变量 2.windows系统下的依赖 3.django多语言配置 3.1settings.py配置 引用gettext_lazy 配置多语言中间件&#x…

(代数:解一元二次方程)可以使用下面的公式求一元二次方程 ax2+bx+c0 的两个根:

(代数:解一元二次方程)可以使用下面的公式求一元二次方程 ax2bxc0 的两个根: b2-4ac 称作一元二次方程的判别式。如果它是正值,那么一元二次方程就有两个实数根。 如果它为 0&#xff0c;方程式就只有一个根。如果它是负值&#xff0c;方程式无实根。 编写程序&#xff0c;提示…

Linux结业测试题,旨在检测ip网络配置,文件权限等基础

Linux期末结业考试 一、评分方式&#xff08;总分100分&#xff0c;理论40分在职教云考试&#xff09; 主要涉及的知识和技能点*分值权重*Linux的最小安装10%激活网络&#xff0c;并正确设置ip地址10%克隆1台机器&#xff0c;并正确设置ip地址10%SSH免密互信服务10%文件和目录…

CNAS认证是什么?怎么做?

在全球化日益深入的今天&#xff0c;产品质量和安全已经成为企业生存和发展的重要基石。而在这个过程中&#xff0c;CNAS认证作为一种权威性的认可机制&#xff0c;发挥着不可替代的作用。那么&#xff0c;CNAS认证究竟是什么&#xff1f;我们又该如何进行这一认证过程呢&#…

LabVIEW水箱液位控制系统

介绍了如何使用LabVIEW软件和硬件工具开发水箱液位控制系统。系统集成了数据采集、实时控制和模拟仿真技术&#xff0c;展示了高精度和高可靠性的特点&#xff0c;适用于需要精细水位调节的工业应用。 项目背景 在制造和化工行业&#xff0c;液位控制是保证生产安全与效率的关…

vue-loader

Vue Loader 是一个 webpack 的 loader&#xff0c;它允许你以一种名为单文件组件 (SFCs)的格式撰写 Vue 组件 起步 安装 npm install vue --save npm install webpack webpack-cli style-loader css-loader html-webpack-plugin vue-loader vue-template-compiler webpack…

TcpClient 服务器、客户端连接

TcpClient 服务器 TcpListener 搭建tcp服务器的类&#xff0c;基于socket套接字通信的 1 创建服务器对象 TcpListener server new TcpListener(IPAddress.Parse("127.0.0.1"), 3000); 2 开启服务器 设置最大连接数 server.Start(1000); 3 接收客户端的链接,只能…