numpy:多维数组运算

ndarray

生成数组

 1 import numpy as np
 2 
 3 #使用普通一维数组生成NumPy一维数组
 4 data=[6,7.5,8,0,1]
 5 arr=np.array((data)) #[6.  7.5 8.  0.  1. ]
 6 print(arr)
 7 print(arr.dtype) #float64
 8 print('')
 9 
10 #二维
11 data=[[1,2,3,4],[5,6,7,8]]
12 arr=np.array(data)
13 print(arr)
14 print(arr.shape) #维度(2, 4)
15 print('')
16 
17 #使用zeros/empty
18 print(np.zeros(10))#生成包含10个0的一维数组
19 print(np.zeros((3,6))) #3*6的二维数组
20 print(np.empty((2,3,2))) #生成2*3*2的三围数组,所有元素未初始化
21 print('')
22 
23 #使用arrange生成连续元素
24 print(np.arange(15)) #[0,1,2,..14]
View Code

切片

 1 import numpy as np
 2 
 3 #访问二维数组某一行或某一个元素
 4 arr=np.array([[1,2,3],[4,5,6],[7,8,9]])
 5 print(arr[2])#[7 8 9]
 6 print(arr[0][2])#3
 7 print(arr[0,2]) #3
 8 print('')
 9 
10 #对更高维数组的访问和操作
11 arr=np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
12 print(arr[0])
13 print('')
14 print(arr[1, 0])
15 print('')
16 old_values=arr[0].copy()
17 arr[0]=42
18 '''
19 [[[42 42 42]
20   [42 42 42]]
21 
22  [[ 7  8  9]
23   [10 11 12]]]
24 '''
25 print(arr)
26 arr[0]=old_values #把原来的数组写回去
27 print(arr)
28 print('')
29 
30 #使用切片访问和操作数组:[)
31 arr=np.array([1,2,3,4,5,6,7,8,9,10])
32 print(arr[1:6]) #[2 3 4 5 6]这里是引用
33 arr=np.array([[1,2,3],[4,5,6],[7,8,9]])
34 print(arr[:2])#打印1,2行
35 print(arr[:2,1:])#1,2行,2,3列
36 print(arr[:,:1])#第1列所有元素
37 arr[:2,1:]=0#1,2行,2,3列元素设置为0
38 print(arr)
View Code

 

posted @ 2018-03-02 01:02  88aa123  阅读(351)  评论(0)    收藏  举报