既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
那么List和Numpy Array到底有什么区别?为什么我们需要在大数据处理的时候使用Numpy Array?答案是性能。
Numpy数据结构在以下方面表现更好:
1.内存大小—Numpy数据结构占用的内存更小。
2.性能—Numpy底层是用C语言实现的,比列表更快。
3.运算方法—内置优化了代数运算等方法。
下面分别讲解在大数据处理时,Numpy数组相对于List的优势。
1.内存占用更小
适当地使用Numpy数组替代List,你能让你的内存占用降低20倍。
对于Python原生的List列表,由于每次新增对象,都需要8个字节来引用新对象,新的对象本身占28个字节(以整数为例)。所以列表 list 的大小可以用以下公式计算:
64 + 8 * len(lst) + len(lst) * 28 字节
而使用Numpy,就能减少非常多的空间占用。比如长度为n的Numpy整形Array,它需要:
96 + len(a) * 8 字节
可见,数组越大,你节省的内存空间越多。假设你的数组有10亿个元素,那么这个内存占用大小的差距会是GB级别的。
2.速度更快、内置计算方法
运行下面这个脚本,同样是生成某个维度的两个数组并相加,你就能看到原生List和Numpy Array的性能差距。
import time
import numpy as np
size_of_vec = 1000
def pure_python_version():
t1 = time.time()
X = range(size_of_vec)
Y = range(size_of_vec)
Z = [X[i] + Y[i] for i in range(len(X)) ]
return time.time() - t1
def numpy_version():
t1 = time.time()
X = np.arange(size_of_vec)
Y = np.arange(size_of_vec)
Z = X + Y
return time.time() - t1
t1 = pure_python_version()
t2 = numpy_version()
print(t1, t2)
print(“Numpy is in this example " + str(t1/t2) + " faster!”)
结果如下:
0.00048732757568359375 0.0002491474151611328
Numpy is in this example 1.955980861244019 faster!
可以看到,Numpy比原生数组快1.95倍。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新