numpy

1. 数组的创建

  使用array

import numpy as np
a = np.array([1,2,3])
b = np.array([[1,2,3], [4,5,6]])

  使用arange

a = np.arange(3)
b = np.arange(1, 10)
c = np.arange(1, 10, 2)

 指定数组的形状

a = np.arange(12).reshape(3,4)
b = a.shape

多维数组转换成一维数组

a = np.arange(24).reshape(2,3,4)
b = a.ravel()
c = a.flatten()

创建全为0,全为1的数组

a = np.zeros(3)
b = np.ones(3)
c = np.ones([3,4])

可以在创建时指定数组的类型

a = np.array([1,2,3], dtype=float)

 类型转换

a = np.array([1,2,3])
a = a.astype(float)

 2. 基本操作

  一维的数组可以进行索引、切片和迭代操作的,就像 列表 和其他Python序列类型一样。

  多维的数组每个轴可以有一个索引。这些索引以逗号​​分隔的元组给出

    

>>> b
array([[ 0,  1,  2,  3],
       [10, 11, 12, 13],
       [20, 21, 22, 23],
       [30, 31, 32, 33],
       [40, 41, 42, 43]])
>>> b[2,3]
23
>>> b[0:5, 1]                      
array([ 1, 11, 21, 31, 41])
>>> b[ : ,1]                       
array([ 1, 11, 21, 31, 41])
>>> b[1:3, : ]                     
array([[10, 11, 12, 13],
       [20, 21, 22, 23]])

 对多维数组进行 迭代(Iterating) 是相对于第一个轴完成的

>>> for row in b:
...     print(row)
...
[0 1 2 3]
[10 11 12 13]
[20 21 22 23]
[30 31 32 33]
[40 41 42 43]

但是,如果想要对数组中的每个元素执行操作,可以使用flat属性,该属性是数组的所有元素的迭代器

>>> for element in b.flat:
...     print(element)
...
0
1
2
3
10
11
12
13
20
21
22
23
30
31
32
33
40
41
42
43
View Code

3. 数组的拼接合并

 初始化两个数组

>>> a
array([0, 1, 2],
       [3, 4, 5],
       [6, 7, 8])
>>> b = a*2
>>> b
array([ 0, 2, 4],
       [ 6, 8, 10],
       [12, 14, 16])

>>> c
array([0, 1, 2])
>>> d = c*2
>>> d
array([ 0, 2, 4])
View Code

 水平组合

>>> np.hstack((a,b))
array([[ 0,  1,  2,  0,  2,  4],
       [ 3,  4,  5,  6,  8, 10],
       [ 6,  7,  8, 12, 14, 16]])

>>> np.concatenate((a,b), axis=1)
array([[ 0,  1,  2,  0,  2,  4],
       [ 3,  4,  5,  6,  8, 10],
       [ 6,  7,  8, 12, 14, 16]])

>>> np.append(a,b, axis=1)
array([[ 0,  1,  2,  0,  2,  4],
       [ 3,  4,  5,  6,  8, 10],
       [ 6,  7,  8, 12, 14, 16]])
View Code

 垂直组合

>>> np.vstack((a,b))
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 0,  2,  4],
       [ 6,  8, 10],
       [12, 14, 16]])

>>> np.concatenate((a,b), axis=0)
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 0,  2,  4],
       [ 6,  8, 10],
       [12, 14, 16]])

>>> np.append(a,b,axis=0)
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 0,  2,  4],
       [ 6,  8, 10],
       [12, 14, 16]])
View Code

 

引用 https://www.numpy.org.cn/user/quickstart.html

posted @ 2020-12-25 15:17  我爱罗~  阅读(29)  评论(0)    收藏  举报