1.2Numpy实战

import numpy as np

1.Numpy的数组类型

array = [1,2,3,4,5]
array
[1, 2, 3, 4, 5]
type(array)
list
array+1
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-5-17a9a5c0be51> in <module>
----> 1 array+1


TypeError: can only concatenate list (not "int") to list
nparray=np.array([1,2,3,4,5])
nparray
array([1, 2, 3, 4, 5])
type(nparray)
numpy.ndarray
nparray+1
array([2, 3, 4, 5, 6])
nparray + nparray
array([ 2,  4,  6,  8, 10])
nparray * nparray
array([ 1,  4,  9, 16, 25])

2.ndarray结构

list_ = [1,2,3,4]
array_ = np.array(list_)
array_
array([1, 2, 3, 4])
type(array_)
numpy.ndarray
array_.dtype
dtype('int32')
list_ = [1,2,3,4.0]
array_ = np.array(list_)
array_
array([1., 2., 3., 4.])
array_.dtype
dtype('float64')
array_.size
4
array_.ndim
1
array_.fill(0)
array_
array([0., 0., 0., 0.])

3.索引和切片

list_ = [1,2,3,4.0]
array_ = np.array(list_)
array_
array([1., 2., 3., 4.])
array_[0]
1.0
array_[-1]
4.0
array_[0:2]
array([1., 2.])
array_[:-1]
array([1., 2., 3.])
array_[-3:]
array([2., 3., 4.])
array_ = np.array([[1,2,3],[4,5,6],[7,8,9]])
array_
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
array_.shape
(3, 3)
array_.size
9
array_.ndim
2
array_[1,1]
5
array_[1,1] = 10
array_
array([[ 1,  2,  3],
       [ 4, 10,  6],
       [ 7,  8,  9]])
array_[1]
array([ 4, 10,  6])
array_[:,1]
array([ 2, 10,  8])
array_[:,0]
array([1, 4, 7])
array_[:,0:2]
array([[ 1,  2],
       [ 4, 10],
       [ 7,  8]])
array_[:,1:3]
array([[ 2,  3],
       [10,  6],
       [ 8,  9]])
array_[0:2,1:3]
array([[ 2,  3],
       [10,  6]])
array2 = array_
array2
array([[ 1,  2,  3],
       [ 4, 10,  6],
       [ 7,  8,  9]])
array2[1,1] = 100
array2
array([[  1,   2,   3],
       [  4, 100,   6],
       [  7,   8,   9]])
array_
array([[  1,   2,   3],
       [  4, 100,   6],
       [  7,   8,   9]])
# 数组的赋值 使用copy操作
array2 = array_.copy()
array2
array([[  1,   2,   3],
       [  4, 100,   6],
       [  7,   8,   9]])
array2[1,1]=999
array2
array([[  1,   2,   3],
       [  4, 999,   6],
       [  7,   8,   9]])
array_
array([[  1,   2,   3],
       [  4, 100,   6],
       [  7,   8,   9]])
array_ = np.arange(0,100)
array_
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
       34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
       51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
       68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
       85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99])
array_ = np.arange(0,100,10)
array_
array([ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90])
mask = np.array([0,1,0,6,2,1,0,1])
mask
array([0, 1, 0, 6, 2, 1, 0, 1])
mask = np.array([0,1,0,6,2,1,0,1,0,0],dtype=bool)
mask
array([False,  True, False,  True,  True,  True, False,  True, False,
       False])
array_[mask]#相当于找出非零数
array([10, 30, 40, 50, 70])
# 构造随机数
random_array = np.random.rand(10)
random_array
array([0.23355588, 0.29370537, 0.97713356, 0.52846635, 0.13183043,
       0.39112791, 0.2162213 , 0.61071618, 0.02796149, 0.31315245])
random_array = np.random.randint(0,1000)
random_array
124
random_array = np.random.randint(1,7,size=(3,3))
random_array
array([[5, 2, 1],
       [3, 6, 1],
       [3, 5, 5]])
np.sum(random_array)
31
np.sum(random_array,axis=0)  #对行求和
array([11, 13,  7])
np.sum(random_array,axis=1)   #对列求和
array([ 8, 10, 13])
random_array.ndim
2
random_array = np.random.randint(1,7,size=(3,3,3))
random_array
array([[[4, 6, 2],
        [6, 6, 4],
        [3, 1, 6]],

       [[6, 4, 4],
        [2, 5, 5],
        [5, 2, 2]],

       [[3, 6, 4],
        [4, 3, 4],
        [2, 2, 2]]])
np.sum(random_array,axis=0)  #对行求和
array([[13, 16, 10],
       [12, 14, 13],
       [10,  5, 10]])
np.sum(random_array,axis=1)   #对列求和
array([[13, 13, 12],
       [13, 11, 11],
       [ 9, 11, 10]])
np.sum(random_array,axis=2)   #对列求和
array([[12, 16, 10],
       [14, 12,  9],
       [13, 11,  6]])
random_array.ndim
3
random_array = np.random.randint(1,5,size=(2,2))
random_array
array([[3, 4],
       [4, 1]])
random_array.prod()
48
random_array.prod(axis=0)
array([12,  4])
random_array.prod(axis=1)
array([12,  4])
random_array.min()
1
random_array.min(axis=0)
array([3, 1])
random_array.max(axis=1)
array([4, 4])
random_array.argmin(axis=0)
array([0, 1], dtype=int64)
random_array.argmax(axis=0)
array([1, 0], dtype=int64)
random_array.mean()
3.0
random_array.mean(axis=0)
array([3.5, 2.5])
random_array = np.random.randint(1,5,size=(2,5))
random_array
array([[3, 3, 3, 3, 2],
       [2, 2, 4, 2, 2]])
np.sort(random_array) #默认按照列排序
array([[2, 3, 3, 3, 3],
       [2, 2, 2, 2, 4]])
np.sort(random_array,axis=0)
array([[2, 2, 3, 2, 2],
       [3, 3, 4, 3, 2]])
np.sort(random_array,axis=1)
array([[2, 3, 3, 3, 3],
       [2, 2, 2, 2, 4]])
np.argsort(random_array)
array([[4, 0, 1, 2, 3],
       [0, 1, 3, 4, 2]], dtype=int64)
random_array.shape
(2, 5)
random_array.shape = 10
random_array
array([3, 3, 3, 3, 2, 2, 2, 4, 2, 2])
random_array.shape=5,2
random_array
array([[3, 3],
       [3, 3],
       [2, 2],
       [2, 4],
       [2, 2]])
random_array.reshape(1,10)
array([[3, 3, 3, 3, 2, 2, 2, 4, 2, 2]])
random_array = random_array.reshape(10)
random_array
array([3, 3, 3, 3, 2, 2, 2, 4, 2, 2])
random_array_2 = random_array[np.newaxis,:]
random_array_2
array([[3, 3, 3, 3, 2, 2, 2, 4, 2, 2]])
random_array.ndim
1
random_array_2.ndim
2
random_array_2.shape
(1, 10)
random_array_2 = random_array[np.newaxis,:,np.newaxis]
random_array_2
array([[[3],
        [3],
        [3],
        [3],
        [2],
        [2],
        [2],
        [4],
        [2],
        [2]]])
random_array_2.shape
(1, 10, 1)
random_array_2 = random_array_2.squeeze()  #压缩空轴
random_array_2.shape
(10,)
random_array_2.shape = 5,2
random_array_2
array([[3, 3],
       [3, 3],
       [2, 2],
       [2, 4],
       [2, 2]])
random_array_2.T
array([[3, 3, 2, 2, 2],
       [3, 3, 2, 4, 2]])
random_array_2
array([[3, 3],
       [3, 3],
       [2, 2],
       [2, 4],
       [2, 2]])
array1 = np.random.randint(10,size=(2,5))
array1
array([[3, 9, 8, 5, 9],
       [2, 6, 6, 1, 7]])
array2 = np.random.randint(10,size=(2,5))
array2
array([[6, 8, 5, 4, 2],
       [1, 3, 9, 2, 8]])
array3 = np.concatenate((array1,array2),axis=0)
array3
array([[3, 9, 8, 5, 9],
       [2, 6, 6, 1, 7],
       [6, 8, 5, 4, 2],
       [1, 3, 9, 2, 8]])
array3 = np.concatenate((array1,array2),axis=1)
array3
array([[3, 9, 8, 5, 9, 6, 8, 5, 4, 2],
       [2, 6, 6, 1, 7, 1, 3, 9, 2, 8]])
np.zeros(3)
array([0., 0., 0.])
np.zeros((2,3))
array([[0., 0., 0.],
       [0., 0., 0.]])
np.ones((3,3))
array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])
x = np.arange(0,2)
y = np.arange(2,4)
x,y
(array([0, 1]), array([2, 3]))
x * y
array([0, 3])
np.multiply(x,y) #点乘
array([0, 3])
np.dot(x,y)  #矩阵乘法
3
x = np.arange(0,6).reshape(2,3)
x
array([[0, 1, 2],
       [3, 4, 5]])
y = np.arange(0,6).reshape(3,2)
y
array([[0, 1],
       [2, 3],
       [4, 5]])
np.dot(x,y)
array([[10, 13],
       [28, 40]])
x = np.arange(0,6).reshape(2,3)
x
array([[0, 1, 2],
       [3, 4, 5]])
y = np.arange(0,6).reshape(2,3)
y
array([[0, 1, 2],
       [3, 4, 5]])
x == y
array([[ True,  True,  True],
       [ True,  True,  True]])
y[0,1]=5
y
array([[0, 5, 2],
       [3, 4, 5]])
x==y
array([[ True, False,  True],
       [ True,  True,  True]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

该用户没有用户名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值