[Python基础] 1.Numpy:开源,数据计算的扩展

版权声明: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]))  # 皮尔逊相关系数

猜你喜欢

转载自blog.csdn.net/Edward_is_1ncredible/article/details/81907539