import numpy as np if __name__ == '__main__': # 终于到了最喜欢的环节,没有np我真的会原地爆炸,np万岁 # 如果是普通的python list, 想要处理是很麻烦的 li = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # print(li * 2) # 但如果转成nparray,事情就变得简单了起来 np_arr = np.array(li) # print(np_arr * 2) # np对一维矩阵的运算也做了加强: li2 = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20] np_arr2 = np.array(li2) # print(np_arr * np_arr2) # 你甚至可以计算多项式的值 # print(3 * np_arr**2 + 2 * np_arr + 1) # numpy提供了很多通用函数来对nparray进行操作,比如: np.sin(np_arr) np.sqrt(np_arr) # 这些操作的效率很高,平时要多用 # 在底层,numpy使用和C一样的连续内存空间,所以只要内存够大,你可以为所欲为 grid = np.zeros(shape=(10000, 10000), dtype=float) # print(np.sin(np.sqrt(grid + 10))) # numpy对多维数组也提供了很好的支持 nd_array = np.array([[1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15]]) print(nd_array) print(nd_array[1]) print(nd_array[:, 1]) print(nd_array[1:3, 1:3]) print(nd_array + [1,2,3,4,5]) # np.where,没见过,第一个参数是条件,满足就输出第二个参数x,不满足就输出第三个参数y print(np.where(nd_array < 10, nd_array, np.nan))