Numpy基本属性
import numpy as np
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]],dtype=np.int)
print('矩阵维度:',arr1.ndim)
print('矩阵行和列数:',arr1.shape)
print('矩阵元素个数:',arr1.size)
Numpy 创建数组(array)
import numpy as np
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]],dtype=np.float)
arr2 = np.zeros((3,3))
arr3 = np.ones((3,3))
arr4 = np.empty((3,3))
arr5 = np.arange(1,201,3)
arr6 = np.arange(9).reshape((3,3))
arr7 = np.linspace(1,100,50)
Numpy计算
import numpy as np
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]])
arr2 = np.arange(9).reshape((3,3))
print("arr1和arr2的和为:\n",arr1+arr2)
print("arr1和arr2的差为:\n",arr1-arr2)
print("arr1和arr2的积为:\n",arr1*arr2)
print("arr1和arr2的商为:\n",arr1/arr2)
print("arr1的平方为:\n",arr1**2)
print("arr1的sin值为:\n",np.sin(arr1))
print("arr1的布尔判断为:\n",arr1<5)
print("arr1和arr2矩阵相乘为:\n",np.dot(arr1,arr2),arr1.dot(arr2))
print("arr1所有元素和为:\n",np.sum(arr1))
print("arr1所有元素中最大值和最小值为:\n",np.max(arr1),np.min(arr1))
print("arr1的最大值索引为:\n",np.argmax(arr1))
print("arr1的最小值索引为:\n",np.argmin(arr1))
print("arr1的平均值为:\n",np.mean(arr1),np.average(arr1),arr1.mean())
print("arr1的中位数为:\n",np.median(arr1))
print("arr1逐个累加后的列表为:\n",np.cumsum(arr1))
print("arr1每一行中后一项与前一项之差为:\n",np.diff(arr1))
print("arr1非零元素对应的行号和列号为:\n",np.nonzero(arr1))
print("arr1每行排序后为:\n",print(np.sort(arr1)))
print("arr1转置后为:\n",np.transpose(arr1),arr1.T)
print("arr1控制最大值最小值后为:\n",np.clip(arr1,0,2))
print("arr1展开成1行的数列为(视图):\n",arr1.ravel())
print("arr1展开成1行的数列为(新对象):\n",arr1.flatten())
for data6 in arr1.flat:
print(data6)
Numpy索引
import numpy as np
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]])
data1=arr1[0]
data2=arr1[0][1]
data3=arr1[0,1]
data4=arr1[1, 0:2]
Numpy数组(array)合并
import numpy as np
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]])
arr2 = np.array([[4,4,4],[5,5,5],[6,6,6]])
print("arr1和arr2上下合并:\n",np.vstack((arr1,arr2)))
print("arr1和arr2左右合并:\n",np.hstack((arr1,arr2)))
print("插入新维度,加一个维度(行):\n",arr1[np.newaxis,:])
print("插入新维度,加一个维度(列):\n",arr1[:,np.newaxis])
print("四个数组上下合并:\n",np.concatenate((arr1,arr1,arr2,arr1),axis=0))
print("四个数组左右合并:\n",np.concatenate((arr1,arr1,arr2,arr1),axis=1))
Numpy array 分割
import numpy as np
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]])
arr2 = np.array([[4,4,4],[5,5,5],[6,6,6]])
print("arr1和arr2上下合并:\n",np.vstack((arr1,arr2)))
print("arr1和arr2左右合并:\n",np.hstack((arr1,arr2)))
print("插入新维度,加一个维度(行):\n",arr1[np.newaxis,:])
print("插入新维度,加一个维度(列):\n",arr1[:,np.newaxis])
print("四个数组上下合并:\n",np.concatenate((arr1,arr1,arr2,arr1),axis=0))
print("四个数组左右合并:\n",np.concatenate((arr1,arr1,arr2,arr1),axis=1))
print("arr1等量纵向分割\n",np.split(arr1, 3, axis=1),np.hsplit(arr1, 3))
print("arr1等量横向分割\n",np.split(arr1, 3, axis=0),np.vsplit(arr1, 3))
print("arr1不等量纵向分割\n",np.array_split(arr1,2, axis=1))
print("arr1不等量横向分割\n",np.array_split(arr1,2, axis=0))
Numpy复制
import numpy as np
arr1 = np.array([[1,1,1],[2,2,2],[3,3,3]])
arr2 = arr1.copy()
Numpy随机数
import numpy as np
print("产生3行3列[0, 1)之间随机数数组:\n",np.random.rand(3,3))
print("产生一个[0, 1)之间随机数:\n",np.random.rand())
print("产生3行3列[low, high)中均匀分布的数组:\n",np.random.uniform(1,10,(3,3)))
print("产生一个[low, high)之间随机数:\n",np.random.uniform(1,10))
print("产生3x3个服从标准正态分布(均值为0,方差为1)的数组:\n",np.random.randn(3,3))
print("产生一个服从标准正态分布(均值为0,方差为1)的随机数:\n",np.random.randn())
print("产生3x3个值服从 μ=loc,σ=scale 的正态分布的数组:\n",np.random.normal(0,1,(3,3)))
print("产生一个值服从 μ=loc,σ=scale 的正态分布的随机数:\n",np.random.normal(0,1))
print("产生3x3个区间[low, high)中离散均匀抽样的数组:\n",np.random.randint(1,10,(3,3)))
print("产生一个区间[low, high)中离散均匀抽样的随机数:\n",np.random.randint(1,10))
print("产生3x3个区间[0, 1)之间均匀抽样的数组:\n",np.random.random((3, 3)))
print("产生一个区间[0, 1)之间均匀抽样的随机数:\n",np.random.random())