numpy与pandas学习笔记

#导入numpy库
import numpy as np

(1)创建矩阵:

a=np.array([
[1,2,3],
[2,3,4],
[4,5,6]],dtype=np.int64)
函数 说明
np.ones((3,4)) 全是1的矩阵
np.zeros((3,4)) 全是0的矩阵
np.empty((3,4)) 全部元素都几乎接近于0的矩阵
np.random.random((3,4)) 3*4的随机数矩阵(取值介于0~1)
np.arange(0,12,1).reshape((3,4)) 左闭右开,步长为2 生成列表,reshape()改变行列形状为3*4
np.linspace(1,10,5) 左闭右开,5段递增得到列表
a.dtype 元素类型,int32、int64、float32、float64等等

(2)矩阵形状

函数 说明
a.ndim 返回是几维数组
a.size 返回元素个数
a.shape 返回行数、列数(m,n)

(3)矩阵运算

运算 函数
加减乘方 c-e,c+e,c**2
三角函数 np.sin(a)
转置 np.transpose(A)或A.T
逐个相乘 c=a*b
矩阵相乘 c_dot=np.dot(a,b)
求和 np.sum(a)
求最值 np.min(g)、np.max(g,axis=1) ,其中axis=0:每一列内部求和 、1:每一行内部求和
提取元素 A[2,:] 、A[2,1] 、A[1,1:3])
输出索引 np.argmin(A) 、np.argmax(A)
均值中位数 np.mean(A)、np.median(A)
累加累差 np.cumsum(A)、np.diff(A)
逐行升序排序 np.sort(A)
print(c<18) 判断哪个元素小于18 、大等于18
print(np.clip(A,5,9)) >9的数变成9,<5的数变成5,中间的数不变
A.flatten() 将矩阵A压扁成只有一行,A.flat表示A.flatten()产生的迭代器用于for循环等
A.flatten()
for item in A.flat:
    print(item)

(4)矩阵合并与分割
以下函数都可以实现同时多矩阵合并,假设A矩阵为3*4

函数 说明
np.array([1,1,1]) 输出shape为(3,)认为只有一个维度
np.array([1,1,1])[:,np.newaxis] 在列方向上添加一个维度,shape为(3,1)或者直接用reshape((3,1))
np.vstack((A,B)) 竖直方向合并
np.hstack((A,B)) 水平方向合并
np.concatenate((A,B),axis=0) axis=0竖直方向排列合并,axis=1水平方向合并
函数 说明
np.split(A,3,axis=0)或np.vsplit(A,3) 竖直方向分割
np.split(A,2,axis=1) 或np.hsplit(A,2) 水平方向分割
np.array_split(A,3,axis=1) 3*4的矩阵水平方向不均等分割 为2 1 1
发布了23 篇原创文章 · 获赞 25 · 访问量 863

猜你喜欢

转载自blog.csdn.net/qq_42878057/article/details/105286196
今日推荐