【Python学习笔记】16:numpy数组四则运算

改变数组元素值

>>> x=np.arange(8)
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7])
>>> np.append(x,8)
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
>>> np.append(x,[9,10])
array([ 0,  1,  2,  3,  4,  5,  6,  7,  9, 10])
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7])
>>> x[3]=8
>>> x
array([0, 1, 2, 8, 4, 5, 6, 7])
>>> np.insert(x,1,8)
array([0, 8, 1, 2, 8, 4, 5, 6, 7])
>>> x
array([0, 1, 2, 8, 4, 5, 6, 7])

append尾加和insert插入都不修改原数组的内容,而是生成新的数组。

>>> y=np.arange(4)
>>> y
array([0, 1, 2, 3])
>>> y.repeat(3)
array([0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3])
>>> y.put(0,9)
>>> y
array([9, 1, 2, 3])

repeat将数组元素重复(不修改原数组),put可以修改数组中某个位置的值。

数组与数值的运算

>>> x=np.array((1,2,3,4,5))
>>> x
array([1, 2, 3, 4, 5])
>>> x*2
array([ 2,  4,  6,  8, 10])
>>> x/2
array([ 0.5,  1. ,  1.5,  2. ,  2.5])
>>> x//2
array([0, 1, 1, 2, 2], dtype=int32)
>>> x**3
array([  1,   8,  27,  64, 125], dtype=int32)
>>> x+2
array([3, 4, 5, 6, 7])
>>> x%3
array([1, 2, 0, 1, 2], dtype=int32)

数组与数组的运算

>>> a=np.array((1,2,3))
>>> b=np.array(([1,2,3],[4,5,6],[7,8,9]))
>>> c=a*b
>>> c
array([[ 1,  4,  9],
       [ 4, 10, 18],
       [ 7, 16, 27]])
>>> c/b
array([[ 1.,  2.,  3.],
       [ 1.,  2.,  3.],
       [ 1.,  2.,  3.]])
>>> c/a
array([[ 1.,  2.,  3.],
       [ 4.,  5.,  6.],
       [ 7.,  8.,  9.]])
>>> a+a
array([2, 4, 6])
>>> a*a
array([1, 4, 9])
>>> a-a
array([0, 0, 0])
>>> a/a
array([ 1.,  1.,  1.])
>>> a+b
array([[ 2,  4,  6],
       [ 5,  7,  9],
       [ 8, 10, 12]])

这里的a+b要像a*b那样作用到每一个子list中去。

转置(行列互换)

>>> b=np.array(([1,2,3],[4,5,6],[7,8,9]))
>>> b
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
>>> b.T
array([[1, 4, 7],
       [2, 5, 8],
       [3, 6, 9]])

一维数组的转置结果是不变的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值