当前位置:网站首页>NumPy基础
NumPy基础
2022-07-29 05:07:00 【m0_65187443】
NumPy(Numerical Python) 是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,主要用于数组计算。
NumPy安装:在cmd终端输入pip install numpy。在使用Numpy之前,通过import命令将numpy库导入,并命名为np,例如:import numpy as np。
目录
由列表创建数组
一维数组
我们可以首先定义一个列表,然后再通过np.array()函数进行数据类型转换定义一维数组。
data=[6,7.5,8,0,1] # 创建列表
arr=np.array(data) # 转换为一维数组 二维数组
首先定义一个嵌套列表元素的列表,然后在通过np.array()函数进行数据类型转换定义二维数组。
data=[[1,2,3,4],[5,6,7,8]] # 创建嵌套序列
arr=np.array(data) # 转换为二维数组由函数创建数组
利用numpy提供的函数方便的创建一些特定的数组,具体内容如下:
函数 | 含义 |
np.zeros() | 创建指定维度全0多维数组。 |
np.ones() | 创建指定维度全1多维数组。 |
np.eye() | 创建指定维度的单位矩阵。 |
np.arange() | 创建指定数量的顺序数组(默认0开始)。 |
linspace() | 创建指定范围的一维数组,并分成若干等份。 |
reshape() | 更改数组的维度 |
数组的运算
数组和标量(实数)之间的运算
arr=np.array([[1,2,3],[4,5,6]]) #创建二维数组
arr+2 | arr-2 | arr*2 | arr/2 |
array([[3,4,5], [6,7,8]]) | array([[-1,0,1], [2,3,4]]) | array([[2,4,6], [8,10,12]]) | array([[0.5,1.,1.5], [2.,2.5,3.]]) |
同维度数组之间的运算
arr1=np.array([[1,2,3],[4,5,6]])
arr2=np.array([[2,2,2],[2,2,2]])
arr1+arr2 | arr1-arr2 | arr1*arr2 | arr1/arr2 |
array([[3,4,5], [6,7,8]]) | array([[-1,0,1], [2,3,4]]) | array([[2,4,6], [8,10,12]]) | array([[0.5,1.,1.5], [2.,2.5,3.]]) |
不同维度数组之间的运算
不同维度的数组进行运算时,数组具有广播特性,即自动将维度进行扩展。

数组的索引
含有n个元素数组的索引为0,1,…,n-1。
轴
在numpy中可以理解为方向,使用0,1,2...数字表示,对于一个一维数组,只有一个0轴,对于2维数组(shape(2,2)),有0轴和1轴,对于三维数组(shape(2,2, 3)),有0,1,2轴。
一维数组索引

二维数组索引

布尔索引

三元运算符
三元运算符np.where(表达式,数1,数2),当表达式为真,结果为数1,否则结果为数2。
函数
通用函数
通用函数是一种对array中的数据执行元素级运算的函数。你可以将其看做简单函数的矢量化包装器。
一元函数
函数 | 说明 |
Abs、fabs | 计算整数、浮点数或负数的绝对值,对于非复数值,可以使用更快的fabs |
sqrt | 计算各元素的平方根,相当于arr**0.5 |
Square | 计算各元素的平方。相当于arr **2 |
exp | 计算各元素的指数e* |
log、log10、log2、log1p | 分别为自然对数(底数为e)、底数为10的log、底数为2的log、log(1+x) |
sign | 计算各元素的正负号:1(正数)、o(零)、一1(负数) |
Cell | 计算各元素的ceiling值,即大于等于该值的最小整数 |
floor | 计算各元素的floor值,即小于等于该值的最大整数 |
二元函数
函数 | 说明 |
add | 将数组中对应的元素相加 |
subtract | 从第一个数组中减去第二个数组中的元素 |
multiply | 数组元素相乘 |
divide、floor_dvide | 除法或向下圆整除法(丢弃余数) |
power | 对第一个数组中的元素A,根据第二个数组中的相应元素B,计.算AB |
maximum、 fmax | 元素级的最大值计算。fmax将忽略NaN |
minimum、fmin | 元素级的最小值计算。fmin将忽略NaN |
mod | 元素级的求模计算(除法的余数) |
copysign | 将第二个数组中的值的赋值给第一个数组中的值 |
边栏推荐
- Big silent event Google browser has no title
- P2181 diagonal
- What if the office prompts that the system configuration cannot run?
- Lenovo Savior r7000+ add ssd+ copy and partition the information of the original D disk to the new SSD
- Live in small private enterprises
- office2010每次打开都要配置进度怎么解决?
- 传奇服务端如何添加地图
- 【config】配置数组参数
- Northeast University Data Science Foundation (matlab) - Notes
- Let you understand several common traffic exposure schemes in kubernetes cluster
猜你喜欢

IDEA中使用注解Test

Glory 2023 push, push code ambubk

excel怎么设置行高和列宽?excel设置行高和列宽的方法

电脑无法打开excel表格怎么办?excel打不开的解决方法

How does WPS take quick screenshots? WPS quick screenshot method

Traffic flow prediction pit climbing record (I): traffic flow data set, original data

Mysql的自连接和联合查询

使用Jstack、Jconsole和jvisualvm进行死锁分析

Pivot table of odoo development tutorial

Quick start JDBC
随机推荐
Learn the first program of database
网安学习-内网安全1
Legend how to configure multiple versions of wechat updates on one server
How to set row height and column width in excel? The method of setting row height and column width in Excel
Raspberry pie 4B + Intel neural computing stick (stick2) +yolov5 feasibility study report
A little knowledge about management
[untitled]
Exception - ...MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is ...
Northeast University Data Science Foundation (matlab) - Notes
那个准时上下班,从不愿意加班加点的人,在我前面升职了...
Excel卡住了没保存怎么办?Excel还没保存但是卡住了的解决方法
关于thymeleaf的配置与使用
Climbing the pit of traffic flow prediction (II): the simplest LSTM predicts traffic flow using tensorflow2
AUTOSAR从入门到精通100讲(七十八)-AUTOSAR-DEM模块
Mysql多对多关系,分组拼接把多个数据查询到一条数据上
The most comprehensive promotion plan for the launch of new products
怎样监测微型的网站服务
How to monitor micro web services
学习数据库的第一个程序
P1009 [noip1998 popularization group] sum of factorials