关于Python中numpy包下对数组的一些操作心得

关于Python中numpy包下对数组的一些操作心得

以下是numpy对于数组操作的一些方法,,我们稍后一一进行演示

empty(shape[, dtype, order])
empty_like(a[, dtype, order, subok])
eye(N[, M, k, dtype, order])
ones(shape[, dtype, order])
ones_like(a[, dtype, order, subok])
zeros(shape[, dtype, order])
zeros_like(a[, dtype, order, subok])
full(shape, fill_value[, dtype, order])
full_like(a, fill_value[, dtype, order, subok])
arange
reshape

#首先是导入numpy包
import numpy as np#在这里我们把numpy用np来代替
np_arr=np.arange(100)#调用arange方法创建一个数组,空间大小为100的一维数组!

在这里插入图片描述

np_arr=np_arr.reshape(2,-1)#把arr1的shape对象进行改变,变成一个2行的矩阵,-1这个参数是为了让矩阵可以智能调配

在这里插入图片描述

arr1=np.arange(10,20,2)#还可以有其他定义方法arr1[10, 12, 14, 16, 18]
#定义数组先说这些
arr1=np.zeros(10)#arr1[0,0,0,0,0,0,0,0,0,0]即10个0
arr2=np.zeros_like(arr1)#这个可以理解为zeros_like方法来获取arr1的shape属性,利用shape属性来创造一个数组,而不是拷贝  arr1数组
arr3=np.empty(10)#创建10个元素的空的数组,其中元素如果没有确定类型的话,默认是一组非常小的数来占据内存的位置,如果声明类型的话,在pycharm中默认是空格,其他开发工具各不相同
arr4=np.ones(10)#和zeros方法差不多,只不过数组元素为全1
arr5=np.ones_like(arr4)#同上述的ones_like方法
arr6=np.full((3,1),5)#把shape方法变为(3,1)形状并且给每一个数赋值为5
arr7=np.eye(5)#创建一个5*5的矩阵,对角线为1

然后就是非常重要的切片操作了

#首先定义一个数组
arr1=np.arange(20).reshape(5,-1)#定义了一个20个元素的数组并且shape变为5*4
#下面开始切片操作
arr2=arr1[0:3,0:2]#切出arr1中的[0,3)行[0,2)列的数组
#记住,“,”前面的代表行,后面的代表列

在这里插入图片描述

#还有别的方法切片
arr3=arr1[[0,1,2,3]]#把arr1的0,1,2,3行切了出来

在这里插入图片描述

#之前的方法是切行,那么怎么切列呢
arr4=arr1[:,[0,1,2]]#首先“,”前面和后面的区别要弄明白,前面用“:”表示所有行,后面则用一个数组来明确自己要切的列数

在这里插入图片描述

#最后就是把两个合为一体
arr5=arr1[[0,1,2],[0,1,3]]#切出相应行数列数构成的数组

在这里插入图片描述

也可以对切片数组赋值

arr1[:,[0,1,2]]=15

在这里插入图片描述

最后要说的就是更改数组的数据类型

arr6=np.arange(10,dtype=int)#用dtype就可以实现数据类型的界定了

先说这些!

发布了4 篇原创文章 · 获赞 4 · 访问量 135

猜你喜欢

转载自blog.csdn.net/yan_5/article/details/103927454