需要导入的包
import numpy as np import pandas
一、利用numpy创建数组
1.1创建简单数组
array =np.array([[1,2,3], [2,3,4]]) print(array) print('number of dim:',array.ndim)#几维 print('shape',array.shape)#形状 几行几列 print('size',array.size)#有多少个元素
结果:
1.2创建特定属性的数组(矩阵)
a=np.array([2,23,4],dtype=np.int64)#确定特定的元素数据类型 print(a.dtype) a =np.array([[1,2,3], [4,5,6]]) print(a) a=np.zeros((3,4))#三行4列 的0 print(a) a=np.arange(10,20,2)#10-20 步长为2 print(a) a=np.linspace(1,10,5)#生成线段 1~10 分5段 print(a)
结果:
二、numpy的简单运算
2.1基础运算
# np的简单运算 a=np.array([10,20,30,40]) b=np.arange(4) c=a-b#减法 c=a**b#次方 c=10*np.sin(a)#特殊的运算 print(a,b) print(c) print(b<3)#单个元素和某个数比大小
结果:
2.2矩阵乘法
# 矩阵的乘法 a=np.array([10,20,30,40])#创建一个array b=np.array([0,1,2,3])#再创建一个array print(a.reshape(2,2))#把这两个array全部变为2,2的矩阵 print(b.reshape(2,2)) cdot=np.dot(a.reshape(2,2),b.reshape(2,2))#dot表示矩阵的乘法 cdot2=a.reshape(2,2).dot(b.reshape(2,2)) print(cdot) print(cdot2)
结果:
2.3矩阵行列和行的相关运算
# 矩阵的行列运算 a=np.random.random((2,4)) print(a) print(np.sum(a,axis=1))#求行的和 print(np.min(a,axis=0))#求列的最小值 print(np.max(a,axis=1))#求每一行的最大值
结果:
三、numpy的其它的一些运算
3.1最大最小值的索引
a=np.arange(2,14).reshape(3,4) print(a) min_key=np.argmin(a)#最小值的索引 print(min_key) max_key=np.argmax(a)#最大值的索引 print(max_key)
结果:
3.2求平均值
a=np.arange(2,14).reshape(3,4) print(a) # 平均值 ave1=np.mean(a) print(ave1) ave2=a.mean() print(ave2) ave3=np.average(a) print(ave3)
结果
3.3其它的一些运算
# 求中位数 print(np.median(a)) # 累加 斐波那契数列 print(a) print(np.cumsum(a)) # 累差 print(a) print(np.diff(a)) # 非0的数 print(np.nonzero(a))#输出非0的数发位置 # 排序 print(np.sort(a)) # 矩阵的转置 print(np.transpose(a)) print(a.T) print(a) # numpy的截取 print(np.clip(a,5,9))#大于5的数全部变9 小于的全部变5