01-numpy

01 读取结构化文件:genfromtxt()

import numpy as np
data_heart = np.genfromtxt('heart.csv',delimiter=',',dtype=str)

02 向量、矩阵:array对象

vector = np.array([1, 2, 3, 4])
matrix = np.array([[1, 2, 3], [4, 5, 6]])

# shape属性用于查看矩阵的行列信息
print(vector.shape)
# dtype属性用于查看元素的类型
# 元素类型不一致,numpy会自动转换为一致的类型
print(matrix[1, 1]) #获取矩阵内第n行n列的值

# 切片
# (1) : 冒号用于填充行数,取所有行的第二列
print(matrix[:,1])
# (2)取多行多列
print(matrix[0:1, 1:3])

# 元素类型转换:astype()

# 函数运算:min()/sum(axis=1)

# np.arange(15).reshape(3, 5) #生成15个元素的向量后转为3行5列的矩阵

# 初始化矩阵
np.zeros(tuple,dtype=np.type)
np.ones(tuple,dtype=np.type)
np.arange(10, 30, 5) #起始值,最大值,步长

# 随机模块
np.random.random((2, 3))
np.linspace(0, 2*np.pi, 100) # 起始值、终点值、个数

03 矩阵运算

(1) + - * / ** 对应位置运算

(2) A.dot(B)   /   np.dot(A, B)  矩阵乘法

(3) e操作:np.exp() 

(4) 开方操作:np.sqrt()

(5) 随机数:a = np.floor(10*np.random.random((3, 4)))

(6) 矩阵横向拼接:np.hstack((a, b))  #增加特征

(7) 矩阵纵向拼接:np.vstack((a, b))  #增加样本

(8) 矩阵横向切割:np.hsplit(a, (3, 4))

(9) 矩阵纵向切割:np.vsplit(a, (3,4))

(10)  矩阵扩展:np.tile(a, (3, 4))

(11) 矩阵排序:np.sort(a, axis=1)  #横向排序

(12) 矩阵排序2:j = np.argsort(a) #默认从小到大获取矩阵索引,a[j]

04 矩阵复制

(1) 赋值:id一样

(2) 浅复制:c = a.view()  # id不一样,但共用数据

(3) 深复制:c = a.copy()  # ID不一样,数据不共用

 05 矩阵极值

(1) 极值索引:max_ind = data.argmax(axis=0) #获取列的最大值索引

(2) 根据索引获取极值:data_max = data[max_ind, range(data.shape[1])]

猜你喜欢

转载自www.cnblogs.com/fong233/p/10804092.html