前言
numpy最重要的一个特点就是n维数组对象ndarray
- 占用的内存更少
- 运行的速度更快
- 进行某些操作时更方便
import numpy as np
let = [0, 1, 2, 3]
let
#range
lst = list(range(6))
lst
arr = np.array(let)
arr
arr = np.arange(6)
储存比较
import numpy as np
import sys
lst = list(range(1000))
print("Size of each element of list in bytes: ", sys.getsizeof(3))
print("Size of the whole list in bytes: ", sys.getsizeof(3)*len(lst))
arr = np.arange(1000)
print("Size of each element of the NumPy array in bytes: ", arr.itemsize)
print("Size of the whole NumPy array in bytes: ", arr.size * arr.itemsize)
运行速度
lstl = range(size)
lst2 = range(size)
arrl = np.arange(size)
arr2 = np.arange(size)
beginTime = time.time()
resultList = [(a * b) for a, b in zip(lstl,lst2)]
endTime = time.time()
diff = endTime -beginTime
print("Time taken by Lists to perform multiplication:", diff, "secondss")
beginTime = time.time()
resultArr = arrl * arr2
endTime = time.time()
diff2 = endTime - beginTime
print("Time taken by NumPy Arrays to perform multiplication:", diff2, "seconds")
print("Numpy in this example is " + str(diff/diff2) + "faster!")