IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> numpy库的使用 -> 正文阅读

[Python知识库]numpy库的使用

numpy库的使用

1、numpy简介

  • 多维数组库,创建多维数组很方便,可以替代多维列表
  • 速度比多维列表快
  • 支持向量和矩阵的各种数学运算
  • 所有元素类型必须相同
  • pip3 install numpy安装(如果安装报Could not build wheels for numpy which use PEP 517 and cannot be installed directly,先使用pip3 install --upgrade pip升级pip,再进行安装)

2、numpy创建数组的函数

函数

功能

array(x)

根据列表或元组x创建数组

arange(x,y,i)

创建一维数组,元素等价于range(x,y,i)

linespace(x,y,n)

创建一个由区间[x,y]的n-1等分点构成的一维数组,包含x和y

random.randint(...)

创建一个元素为随机整数的数组

zeros(n)

创建一个元素全为0.0的长度为n的数组

ones(n)

创建一个元素全为1.0的长度为n的数组

numpy创建数组示例

?

3、numpy数组常用属性和函数

属性或函数

含义或功能

dtype

数组元素的类型

ndim

数组是几维的

shape

数组每一维的长度

size

数组元素个数

argwhere(...)

查找元素

tolist()

转换为list

min()

求最小元素

max()

求最大元素

reshape(...)

改变数组的形状

flatten()

转换成一维数组

numpy数组常用属性和函数示例

?

4、numpy数组元素增删

函数

功能

append(x,y)

若y是数组、列表或元组,就将y的元素添加进数组x得到新数组。否则将y本身添加进数组x得到新数组

concatenate(...)

拼接多个列表

delete(...)

删除数组元素的到新数组

numpy添加数组元素示例

?

numpy删除数组元素示例

?

5、在numpy数组中查找元素示例

?

6、numpy数组的数学运算示例

?

7、numpy数组切片

?示例中的代码

import numpy as np
'''numpy创建数组示例'''
print(np.array([1,2,3,4])) #将列表【1,2,3,4]转化为一位数组输出[1 2 3 4]
print(np.arange(1,9,2)) #相当于rang(1,9,2),输出[1 3 5 7]
print(np.linspace(1,10,4))  #相当于把1到10之间到数字等分成(4-1)份,输出[ 1.  4.  7. 10.]
print(np.random.randint(10,20,[2,3]))#在10(包含)到20(不包含)之间生成随机2行3列的二维数组,输出结果
#[[18 17 15]
 #[17 17 12]]
print(np.random.randint(10,20,5)) #在10(包含)到20(不包含)之间生成随机5个数的一维数组,输出结果[12 15 19 12 11]
a=np.zeros(3) #生成包含3个0的一维数组
print(a) #输出结果[0. 0. 0.]
print(list(a)) #将数组a转化为列表,数据结果[0.0, 0.0, 0.0]
b=np.zeros((2,3),dtype=int) #生成一个2行3列值为0的二维数组,指定数据类型为int型
print(b) #输出结果
#[[0 0 0]
  #[0 0 0]]

"""numpy数组常用属性和函数"""
c=np.array([i for i in range(12)]) #生成一个从0 到11的一维数组
print(c) #输出结果[ 0  1  2  3  4  5  6  7  8  9 10 11]
d=c.reshape((3,4)) #生成一个新的3行4列的数组
print(d) #输出结果
#[[ 0  1  2  3]
 #[ 4  5  6  7]
 #[ 8  9 10 11]]
print(len(d))  #输出数组d有几行,输出结果3
print(d.size)  #输出数组d有几个元素,输出结果12
print(d.ndim) #数组d是几维的,输出结果2
print(d.shape) #数组d的行列数,输出(3, 4)
print(d.dtype) #查看数据类型,输出int64
l=d.tolist() #将二维数组转化为二维列表
print(l) #输出结果 [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]
f=d.flatten() #把多维数组转化为一维数组
print(f) #输出结果[ 0  1  2  3  4  5  6  7  8  9 10 11]

"""numpy添加数组元素"""
a3=np.array((1,2,3)) #生成一维数组[1 2 3]
b3=np.append(a3,10) #在a3中添加10,生成新的一维数组b3
print(b3) #输出结果[ 1  2  3 10]
print(np.append(a3,[10,20])) #在a3中添加10,20,输出结果[ 1  2  3 10 20]
c3=np.zeros((2,3),dtype=int)
print(np.append(a3,c3)) #将c3添加到a3中,输出结果[1 2 3 0 0 0 0 0 0]
print(np.concatenate((a3,[10,20],a3))) #将a3,[10,20],a3合并生成新到一维数组,输出结果[ 1  2  3 10 20  1  2  3]
print(np.concatenate((c3,np.array([[10,20,30]])))) #将10,20,30添加到c3的第3行,输出结果
#[[ 0  0  0]
 #[ 0  0  0]
 #[10 20 30]]
# print(np.concatenate(c3,np.array([[10,20,30]])))
print(np.concatenate((c3,np.array([[1,2],[10,20]])),axis=1)) #将c3的第0行尾部添加1,2,第1行的尾部添加10,20,axis=1指定添加的内容为列,输出结果
#[[ 0  0  0  1  2]
 #[ 0  0  0 10 20]]

"""numpy删除数组元素"""
a=np.array([1,2,3,4])
b=np.delete(a,1) #删除数组a中下标为1的元素
print(b) #输出结果[1 3 4]
b=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print(np.delete(b,1,axis=0)) #删除b数组中下标为1的行,axis=0表示行,得到新数组
#输出结果
#[[ 1  2  3  4]
 #[ 9 10 11 12]]
print(np.delete(b,1,axis=1))#删除b数组中下标为1的列,axis=1表示行,得到新数组
#输出结果
#[[ 1  3  4]
 #[ 5  7  8]
 #[ 9 11 12]]
print(np.delete(b,[1,2],axis=0))#删除b数组中下标为1、2的行,axis=0表示行,得到新数组
#输出结果[[1 2 3 4]]
print(np.delete(b,[1,3],axis=1))#删除b数组中下标为1、3的列,axis=1表示列,得到新数组
#输出结果
#[[ 1  3]
 #[ 5  7]
 #[ 9 11]]

"""在numpy数组中查找元素"""
a=np.array([1,2,3,5,3,4])
pos=np.argwhere(a==3) #在数组a中查找值为3的元素,分别是下标为2、4的元素
print(pos) #输出结果[[2] [4]] a是一维数组2 4表示列,行为0,默认省略
a=np.array([[1,2,3],[4,5,2]])
print(2 in a) #判断2是不是在数组a中,输出结果True
pos=np.argwhere(a==2)
print(pos) #输出结果[[0 1] [1 2]]表示第0行第1列,第1行第2列
b=a[a>2] #在a中查找大于2第元素
print(b) #输出结果[3 4 5]
a[a>2]=-1 #把数组a中值大于2第元素替换为-1
print(a) #输出结果
#[[ 1  2 -1]
 #[-1 -1  2]]

"""numpy数组的数学运算"""
a=np.array([1,2,3,4])
b=a+1 #数组b为数组a每个元素对应加1
print(b) #输出结果[2 3 4 5]
print(a*b)#a,b数组中每个元素对应相乘得到新的数组,输出结果[ 2  6 12 20]
print(a+b) #a,b数组中每个元素对应相加得到新的数组,输出结果[3 5 7 9]
c=np.sqrt(a*10) #将a中的每个元素乘10,然后开平方根
print(c) #输出结果[3.16227766 4.47213595 5.47722558 6.32455532]

"""numpy数组切片"""
"""numpy数组切片是'视图',是原数组的一部分,而非一部分的拷贝"""
a=np.arange(8)
b=a[3:6] #取下标为3,4,5的元素
print(b) #输出结[3 4 5]
c=np.copy(a[3:6]) #c是拷贝a数组中下标为3 4 5的元素
b[0]=100
print(a) #修改数组a的值 输出结果[  0   1   2 100   4   5   6   7]
print(c) #不会修改数组c的值 输出结果[3 4 5]
a=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])
b=a[1:3,1:4] #取b的1、2行,每行取1、2、3列
print(b)
#输出结果
#[[ 6  7  8]
 #[10 11 12]]

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-13 11:43:05  更:2022-05-13 11:43:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:51:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码