import numpy as np
# 一维数组的创建
arr=np.arange(1,10) # array([1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[0] # 1
arr[3:5] # array([4, 5])
arr[::-1] # array([9, 8, 7, 6, 5, 4, 3, 2, 1])
arr[-4:-2] # array([6,7])
arr[5]=12
arr # array([ 1, 2, 3, 4, 5, 12, 7, 8, 9])
arr_change=arr
arr_change[1:3]=[17,19]
arr_change # array([ 1, 17, 19, 4, 5, 12, 7, 8, 9])
arr # array([ 1, 17, 19, 4, 5, 12, 7, 8, 9]) # arr_change是传的视图(相当于引用),它改变的,源数据也会跟着改变
arr_change=arr.copy()
arr_change[1:3]=[4,9] # array([ 1, 4, 9, 4, 5, 12, 7, 8, 9])
arr # array([ 1, 17, 19, 4, 5, 12, 7, 8, 9])
# 二维数组的创建
data2=[[8.5,6,4.1,2,0.7],[1.5,3,5.4,7,3.9],[3.2,4.5,6,3,9]]
arr2=np.array(data2)
arr2[2] # [3.2, 4.5, 6, 3, 9]
arr2[2,1] # 4.5
arr2[:,2:4]
# array([[4.1, 2. ],
[5.4, 7. ],
[6. , 3. ]])
arr2[1:,2:]
# array([[5.4, 7. , 3.9],
[6. , 3. , 9. ]])
arr2[arr2>3.5] # array([8.5, 6. , 4.1, 5.4, 7. , 3.9, 4.5, 6. , 9. ])
arr2[~(arr2>=3.5)] # array([2. , 0.7, 1.5, 3. , 3.2, 3. ])
(arr2>3.5)&(arr2<10)
array([[ True, True, True, False, False],
[False, False, True, True, True],
[False, True, True, False, True]])
arr2[(arr2>3.5)&(arr2<10)] # array([8.5, 6. , 4.1, 5.4, 7. , 3.9, 4.5, 6. , 9. ])