1、数组中提取某一片段
import numpy as np
a = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
a = a[-2:, 1:3] # -2: 表示的是倒数第二行到最后, 1:3 表示的是第一列及后两列
print(a)
结果为:
[[ 6 7]
[10 11]]
2、获取一下数组中的7
[[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]]
import numpy as np
a = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
# 获取数字7
a = a[1, -2]
print(a)
3、将数组a的每行第二个元素加10
方法一:
import numpy as np
a = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
a[np.arange(3), 1] += 10
print(a)
结果为:
[[ 1 12 3 4]
[ 5 16 7 8]
[ 9 20 11 12]]
方法二:
import numpy as np
a = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
a[np.arange(3), [1, 1, 1]] += 10
print(a)
结果为:
[[ 1 12 3 4]
[ 5 16 7 8]
[ 9 20 11 12]]
方法三:
import numpy as np
a = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
a[[0, 1, 2], [1, 1, 1]] += 10
print(a)
结果为:
[[ 1 12 3 4]
[ 5 16 7 8]
[ 9 20 11 12]]
4、获得数组中大于10 的元素
import numpy as np
a = np.array([[1, 12, 3, 4],
[5, 16, 7, 8],
[9, 20, 11, 12]])
result_index = a > 10
print(result_index)
c = a[result_index]
print(c)
结果为:
[[False True False False]
[False True False False]
[False True True True]]
[12 16 20 11 12]