版权声明:Hello https://blog.csdn.net/Edward_is_1ncredible/article/details/81907539
import numpy as np
I.数据结构
numpy的底层语言为C,因此nparray的解决了这个问题,nparray是np中最基础的数据结构
1.nparray
list = [[1,3,5],[2,4,6]]
print(type(list))
np_list = np.array(list)
print(type(np_list))
# 可以用dtype指定数据类型,数据类型有很多种
np_list2 = np.array((list),dtype=float)
print(type(np_list2))
2.nparray的数据属性
print(np_list.shape) # 形状
print(np_list.ndim) # 维度
print(np_list.dtype) # 数据类型
print(np_list.itemsize) # 每个元素的大小
print(np_list.size) # 大小,总字节的itemsize*size
II.常用nparry
print(np.zeros((2,4))) # 生成2*4的全0矩阵
print(np.ones((3,5),dtype=np.int)) # 生成3*5的全1矩阵
print(np.random.rand(1,10)) # 生成2*4的范围都在0-1的随机数矩阵
print(np.random.rand()) # 生成单个0-1范围内的随机数
print(np.random.randint(1,10,3)) # 生成3个1-10之间的整数
print(np.random.randn(2*4)) # 生成2*4的标准正态分布矩阵
print(np.random.choice([10,20,30])) # 从给的数里面随机选取一个
print(np.random.beta(1,10,100)) # 生成其他分布,如beta分布等
III.常用操作
print(np.arange(1,11).reshape(2,5)) # 1-10排列成2*5的矩阵
lst1 = np.array([10,20,30,40])
lst2 = np.array([4,3,2,1])
print(lst1 + lst2)
print(lst1 - lst2)
print(lst1 * lst2)
print(np.dot(lst1.reshape([2,2]),lst2.reshape([2,2]))) # 点乘
print(np.vstack((lst1,lst2))) # 纵向拼接
print(np.hstack((lst1,lst2))) # 横向拼接
print(np.split(lst1,4)) # 拆分
IV.矩阵操作和线性方程组
from numpy.linalg import *
print(np.eye(3)) # 设置一个3*3的单位矩阵
lst = np.array([[1,2],[3,4]]) # 设置一个矩阵
print(inv(lst)) # 求矩阵的逆
print(lst.transpose()) # 转置矩阵
print(det(lst)) # 行列式
print(eig(lst)) # 特征值和特征向量
y = np.array([[5,],[7,]])
print(solve(lst,y)) # 解方程组
V.其他应用
print(np.corrcoef([1,0,1],[0,2,1])) # 皮尔逊相关系数