ndarray的矩阵运算
import numpy as np
arr = np.arange(10)
print(arr)
[0 1 2 3 4 5 6 7 8 9]
print(arr * arr)
print(arr + arr)
[ 0 1 4 9 16 25 36 49 64 81]
[ 0 2 4 6 8 10 12 14 16 18]
print(1. + arr)
print(2 * arr)
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
[ 0 2 4 6 8 10 12 14 16 18]
ndarray 的切片、索引操作
arr1 = np.arange(10)
print(arr1)
print(arr1[5:9])
[0 1 2 3 4 5 6 7 8 9]
[5 6 7 8]
arr2 = np.arange(10).reshape(2, 5)
print(arr2)
print(arr2[1, :3])
print(arr2[:, :3])
[[0 1 2 3 4]
[5 6 7 8 9]]
[5 6 7]
[[0 1 2]
[5 6 7]]
ndarray 的条件索引
1.
year_arr = np.array([[2010, 2011, 2012],[2001, 2002, 2003],[ 2015, 2016, 2017]])
print(year_arr)
[[2010 2011 2012]
[2001 2002 2003]
[2015 2016 2017]]
after2005_year = year_arr > 2005
print(after2005_year)
[[ True True True]
[False False False]
[ True True True]]
arr2 = np.random.randn(3, 3)
print(arr2)
[[-0.37791219 -0.64637402 -0.59096287]
[-1.02730703 0.02857597 0.71432543]
[-0.72702708 -0.39139429 -0.30935388]]
new_arr2 = arr2[after2005_year]
print(new_arr2)
[-0.37791219 -0.64637402 -0.59096287 -0.72702708 -0.39139429 -0.30935388]
new_arr2 = arr2[(year_arr > 2005) & (year_arr < 2015)]
print(new_arr2)
[-0.37791219 -0.64637402 -0.59096287]
ndarray的维数转换 transpose()
arr2 = np.random.rand(3, 4)
print(arr)
print("-----")
print(arr.transpose())
[[ 0.16999083 0.50601716 0.28392081 0.70684008]
[ 0.90124598 0.21389049 0.7387991 0.33142345]
[ 0.87686092 0.63811256 0.48762832 0.27096743]]
-----
[[ 0.16999083 0.90124598 0.87686092]
[ 0.50601716 0.21389049 0.63811256]
[ 0.28392081 0.7387991 0.48762832]
[ 0.70684008 0.33142345 0.27096743]]
arr3 = np.random.rand(2, 3, 4)
print(arr3)
print("------")
print(arr3.transpose((2, 0, 1)))
[[[ 0.61639457 0.84812496 0.19361102 0.31457818]
[ 0.62200312 0.92004099 0.23347049 0.35335469]
[ 0.86486317 0.79885837 0.34411033 0.41257462]]
[[ 0.37305292 0.21077638 0.32414606 0.21110296]
[ 0.68084211 0.83998735 0.40823666 0.03573073]
[ 0.47724583 0.41015764 0.14933342 0.18136207]]]
------
[[[ 0.61639457 0.62200312 0.86486317]
[ 0.37305292 0.68084211 0.47724583]]
[[ 0.84812496 0.92004099 0.79885837]
[ 0.21077638 0.83998735 0.41015764]]
[[ 0.19361102 0.23347049 0.34411033]
[ 0.32414606 0.40823666 0.14933342]]
[[ 0.31457818 0.35335469 0.41257462]
[ 0.21110296 0.03573073 0.18136207]]]