numpy
用来做数据分析,对numpy数组(既有行又有列)一矩阵进行科学运算
高级模块
tensorflow / pytorch
对数组进行运算创建numpy 数组 array ------》可变
import numpy as np
arr1 = np.array([1,2,3])
arr2 = np.array([4,5,6])
print(arr1 * arr2)
numpy的一维数组
import numpy as np
arr1 = np.array([1,2,3])
numpy的二维数组
import numpy as np
arr2 = np.array([
[1,2,3,4],
[1,2,3,4]
])
numpy的三维数组--------->tensorflow
import numpy as np
arr3 = np.array([
[
[1,2,3,4],
[4,5,6,7]
],
[
[1,2,3,4,5],
[4,5,6,7,8]
]
])
numpy数组的属性
arr = np.array([
[1,2,3,4],
[5,6,7,8]
])
T数组的转置
arr.T
dtype
数组元素的数据类型
size
数组元素的个数
ndim
数组的维数
shape
数组的维度大小,行和列shape[0]行shape[1]列
astype
arr.astype(np.float64)
类型转换
切片numpy数组
arr[:,:]# 行,列
逻辑取值
arr[arr > 4]
赋值
lt[:] =[0, 0 ,0 ]
参考以下--------------------------------------------------------------------------------------------------
print(np.hstack((arr1, arr2))) # 只能放元组
print(np.vstack((arr1, arr2)))
print(np.concatenate((arr1, arr2), axis=1)) # 默认以列合并 # 0表示列,1表示行
# 通过函数创建numpy数组
print(np.ones((2, 3)))
print(np.zeros((2, 3)))
print(np.eye(3, 3))
print(np.linspace(1, 100, 10))
print(np.arange(2, 10))
arr1 = np.zeros((1, 12))
print(arr1.reshape((3, 4))) # 重构形状
# numpy数组运算
# +-*'
arr1 = np.ones((3, 4)) * 4
print(arr1)
# numpy数组运算函数
print(np.sin(arr1))
# 矩阵运算--点乘
arr1 = np.array([
[1, 2, 3],
[4, 5, 6]
])
arr2 = np.array([
[1, 2],
[4, 5],
[6, 7]
])
# 2* 3 3*2
print(np.dot(arr1, arr2))
# 求逆
arr = np.array([[1, 2, 3], [4, 5, 6], [9, 8, 9]])
print(np.linalg.inv(arr))
# numpy数组数学和统计方法
print(np.sum(arr[0, :]))
# numpy.random生成随机数(******)
print(np.random.rand(3, 4))
print(np.random.random((3, 4)))
# np.random.seed(1)
print(np.random.random((3, 4)))
s = np.random.RandomState(1)
print(s.random((3, 4)))
arr = np.array([[1, 2, 3], [4, 5, 6], [9, 8, 9]])
np.random.shuffle(arr)
print(arr)
# 针对一维
print(np.random.choice([1, 2, 3], 1))
# 针对某一个范围
print(np.random.randint(1, 100, (3, 4)))