*改变数组元素值
>>> 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]])
一维数组的转置结果是不变的。