numpy入门——基础运算

来源:互联网 发布:深圳市超惠转网络推广 编辑:程序博客网 时间:2024/05/29 15:51

基础运算

  • 导入numpy包 并以np的形式简写
import numpy as np
  • 数组加减乘除法运算
# 创建一个一维数组a 以列表为数据源 并指定数据类型为np.int  创建一个一维数组b 使用arange的方式a = np.array([2,3,4,5],dtype=np.int)b = np.arange(start = 4,stop = 8,step = 1)
  • 计算 a+b
c = a+bprint(c)# 获取c中的数据类型print(c.dtype)# 获取shapeprint(c.shape)# 获取元素个数print(np.size(c))# 获取维度print(c.ndim)
array([ 6,  8, 10, 12])dtype('int32')(4,)41
  • 计算 a-b
d = a-bprint(d)# 获取d中的数据类型print(d.dtype)# 获取shapeprint(d.shape)# 获取元素个数print(np.size(d))# 获取维度print(d.ndim)
array([-2, -2, -2, -2])dtype('int32')(4,)41
  • 计算axb
e = a*bprint(e)print(e.size)print(e.ndim)print(e.shape)print(e.dtype)
array([ 8, 15, 24, 35])41(4,)dtype('int32')
  • 计算a/b
f = a/bprint(f)print(f.dtype)print(f.size)print(f.ndim)print(f.shape)
array([ 0.5       ,  0.6       ,  0.66666667,  0.71428571])dtype('float64')41(4,)
  • 常用函数计算
print(np.sin(a))print(np.cos(a))print(np.tan(a))print(a**5)
array([ 0.90929743,  0.14112001, -0.7568025 , -0.95892427])array([-0.41614684, -0.9899925 , -0.65364362,  0.28366219])array([-2.18503986, -0.14254654,  1.15782128, -3.38051501])array([  32,  243, 1024, 3125], dtype=int32)
  • 比较计算
print(a < 4)print(a > 3)print(a == 3)print(a != 4)
array([ True,  True, False, False], dtype=bool)array([False, False,  True,  True], dtype=bool)array([False,  True, False, False], dtype=bool)array([ True,  True, False,  True], dtype=bool)
  • 矩阵的基础运算
# 创建矩阵 以二维数组为数据源a = np.array([[1,2,3,4],[5,6,7,8]])b = np.arange(start = 1,stop = 9,step = 1).reshape((2,4))# 矩阵的加法print(a+b)# 矩阵的减法print(a-b)# 矩阵的乘法print(a*b)# 矩阵的除法print(a/b)# 矩阵的点乘print(a.dot(b.T))print(b.dot(a.T))
array([[ 2,  4,  6,  8],       [10, 12, 14, 16]])array([[0, 0, 0, 0],       [0, 0, 0, 0]])array([[ 1,  4,  9, 16],       [25, 36, 49, 64]])array([[ 1.,  1.,  1.,  1.],       [ 1.,  1.,  1.,  1.]])array([[ 30,  70],       [ 70, 174]])array([[ 30,  70],       [ 70, 174]])
  • 求取矩阵中的特定值如:最大值、最小值、平均值等
arr_random = np.random.randint(100,size=(10,10))print(arr_random)# 计算最小值print(arr_random.min())# 计算每一行中的最小值  并保持维度print(arr_random.min(axis=1,keepdims=True))# 计算每一列中的最小值,并保持维度print(arr_random.min(axis=0,keepdims=True))
3array([[ 5],       [14],       [10],       [20],       [ 5],       [11],       [23],       [ 3],       [12],       [18]])array([[ 3, 12,  5,  8, 20, 17, 20,  5, 14, 16]])
# 计算最大值print(arr_random.max())# 计算每一行中的最大值,并保持维度print(arr_random.max(axis=1,keepdims = True))# 计算每一列中的最大值,并保持维度print(arr_random.max(axis=0,keepdims = True))
99array([[99],       [77],       [83],       [82],       [80],       [97],       [92],       [84],       [74],       [92]])array([[56, 95, 85, 92, 98, 92, 99, 97, 93, 88]])
# 计算平均值print(arr_random.mean())# 计算每一列中的平均值 并保持维度print(arr_random.mean(axis=0,keepdims = True))# 计算每一行中的平均值 并保持维度print(arr_random.mean(axis=1,keepdims=True))
49.549999999999997array([[ 25.6,  50.6,  32.7,  51.8,  66.3,  47. ,  53.8,  53.9,  59.2,         54.6]])array([[ 52.7],       [ 47.1],       [ 40.8],       [ 57.3],       [ 30.3],       [ 61.7],       [ 61.3],       [ 49.3],       [ 41.8],       [ 53.2]])
# 计算标准差print(arr_random.std())# 计算每一行的标准差 print(arr_random.std(axis=1,keepdims=True))# 计算每一列的标准差print(arr_random.std(axis=0,keepdims=True))
27.393201711373575array([[ 35.47407504],       [ 20.39828424],       [ 20.01899098],       [ 19.70304545],       [ 24.86785073],       [ 33.89705002],       [ 19.78408451],       [ 26.4425793 ],       [ 25.07508724],       [ 25.91061559]])array([[ 15.82529621,  24.74752513,  25.00819866,  28.20567319,         23.90836674,  22.78596059,  30.25822202,  27.58423463,         25.24202844,  22.56634663]])
# 求和print(arr_random.sum())# 计算每一行的和print(arr_random.sum(axis=1,keepdims=True))# 计算每一列的和print(arr_random.sum(axis=0,keepdims=True))
4955array([[527],       [471],       [408],       [573],       [303],       [617],       [613],       [493],       [418],       [532]])array([[256, 506, 327, 518, 663, 470, 538, 539, 592, 546]])
原创粉丝点击