numpy入门——基础运算

基础运算

  • 导入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+b
print(c)
# 获取c中的数据类型
print(c.dtype)
# 获取shape
print(c.shape)
# 获取元素个数
print(np.size(c))
# 获取维度
print(c.ndim)
array([ 6,  8, 10, 12])
dtype('int32')
(4,)
4
1
  • 计算 a-b
d = a-b
print(d)
# 获取d中的数据类型
print(d.dtype)
# 获取shape
print(d.shape)
# 获取元素个数
print(np.size(d))
# 获取维度
print(d.ndim)
array([-2, -2, -2, -2])
dtype('int32')
(4,)
4
1
  • 计算axb
e = a*b
print(e)
print(e.size)
print(e.ndim)
print(e.shape)
print(e.dtype)
array([ 8, 15, 24, 35])
4
1
(4,)
dtype('int32')
  • 计算a/b
f = a/b
print(f)
print(f.dtype)
print(f.size)
print(f.ndim)
print(f.shape)
array([ 0.5       ,  0.6       ,  0.66666667,  0.71428571])
dtype('float64')
4
1
(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))
3
array([[ 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))
99
array([[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.549999999999997
array([[ 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.393201711373575
array([[ 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))
4955
array([[527],
       [471],
       [408],
       [573],
       [303],
       [617],
       [613],
       [493],
       [418],
       [532]])
array([[256, 506, 327, 518, 663, 470, 538, 539, 592, 546]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值