Numpy基础学习笔记梳理

前言

重新梳理numpy知识点。整理几个常用的函数。主要参考DataCamp的numpy cheat sheet。


Numpy基础学习笔记梳理_第1张图片
DataCamp numpy cheatsheet

初始化数组

以下两个较为实用,但是容易忘记。

>>> np.arange(10,25,5) # 创建一个[10,25),间隔为5的数组
array([10, 15, 20])
>>> np.linspace(0,2,9) # 创建一个[0,2],9个间隔均等的值的数组
array([0.  , 0.25, 0.5 , 0.75, 1.  , 1.25, 1.5 , 1.75, 2.  ])

读写操作

np.loadtxt()较之np.genfromtxt()更为实用。后者经常用于.csv数据的处理中。这里,记录一下关于前者的使用。

可以在参数中添加delimiter以及dtype进行间隔符号以及数据类型制定。

>>> np.loadtxt('myfile.txt') # 处理数值文本时,不加参数会报错
ValueError: could not convert string to float: '2,3,4,5'
>>> np.loadtxt('myfile.txt',delimiter=',')
array([[2., 3., 4., 5.],
       [6., 7., 8., 9.]])
>>> np.loadtxt('myfile.txt',delimiter=',',dtype=int)
array([[2, 3, 4, 5],
       [6, 7, 8, 9]])

查看数组属性

除了常见的几个操作之外,还有如下几个操作也值得了解。

arr.ndim #查看数组的维数,2维数组为2
arr.size # 描述数组元素个数
arr.dtype #查看数组元素数据类型
arr.dtype.name # 打印对应元素数据类型的名称
arr.astype(int) # 转换数组元素的数据类型(需要符合转换条件)

矩阵运算

区别于矩阵操作

数学运算

在做矩阵数学运算的时候,注意,一定时调用模块里的函数,然后传入对应的数组参数。除了,arr1.dot(arr2)

比较

一定是元素的对应比较(element-wise),返回的结果也是元素为TrueFalse的相同维度的矩阵。

聚合函数

对于聚合操作,则一定是某数组arr调用某聚合函数。除了,np.std()操作。

Numpy基础学习笔记梳理_第2张图片
聚合操作

矩阵切片

>>> arr[::-1] # 逆转矩阵,注意这里是值操作本身不变

数组操作

注意:数组操作后,原数组不变。

转置

使用arr.T或者np.transpose(arr)对数组arr进行转置。

改变数组shape

>>> arr.ravel() # 拉成1维矩阵
>>> arr.reshape(2,2,2,...) #参数为维度信息

添加/删除 数组元素

>>> arr.resize((2,2)) # 注意,这个是引用操作,另arr只能是一维数组
# 下面的三个操作都是值操作,不改变原数组
np.append(arr1,arr2)# 结果被调整为1维数组
np.insert(arr,1,5)#往数组arr的下标为1处插入值5
np.delete(arr,[1,...])#从数组arr中删除下标为1...的元素

拼接/分割数组

# 行拼接,列相同
np.vstack()
np.r_[]

# 列拼接,行相同
np.hstack()
np.c_[]

# 分割数组
np.hsplit()#行

np.vsplit()#列

结束语

重新梳理了一遍,主要是数组操作这块不是很熟悉。

你可能感兴趣的:(Numpy基础学习笔记梳理)