"""
Numpy是Python数值计算最重要的基础包。大多数提供科学计算的包都是用numpy的数组作为构建基础
Numpy的部分功能如下:
1.ndarray:一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组
2.用于对整组数据进行快速运算的标准数学函数(无需编写循环)
3.用于读写磁盘数据的工具以及用于操作内存映射文件的工具
4.线性代数、随机数生成以及傅里叶变换功能
5.用于集成由C、C++、Fortran等语言编写的代码的A C API
由于Numpy提供了一个简单易用的C API,因此很容易将数据传递给由低级语言编写的外部库,外部库也能以Numpy数组的形式将数据返回给Python。
这个功能使Python成为一种包装C、C++、Fortran历史代码库的选择,并使被包装库拥有一个动态的、易用的接口
Numpy之于数值计算要特别重要的原因之一,是因为可以高效的处理大数组的数据,高效的原因如下:
1.Numpy是在一个连续的内存块中储存数据,独立于其他Python内置对象。Numpy的C语言编写的算法库可以操作内存,而不必进行类型检查或其他前期工作。
比起Python的内置序列,Numpy数组使用的内存更少
2.Numpy可以在整个数组上执行复杂的计算,而不需要Python的for循环,并且速度更快
"""
import numpy as np
import time
# 为体现具体的性能差距,考一个包含一百万整数的数组,和一个等价的Python列表,计算序列分别乘以2,所花费的时间
my_list = list(range(1000000))
my_arr = np.arange(1000000)
# 计算列表花费的时间
start_time_1 = time.time()
my_list_1 = [x * 2 for x in my_list]
end_time_1 = time.time()
print("列表所花费的时间为:{}".format(end_time_1 - start_time_1)) # 列表所花费的时间为:0.06083512306213379
# 计算Numpy序列所花费的时间
start_time_2 = time.time()
my_arr_2 = my_arr * 2
end_time_2 = time.time()
print("Numpy所花费的时间为:{}".format(end_time_2 - start_time_2)) # Numpy所花费的时间为:0.0009980201721191406
一、Numpy-1.概念
最新推荐文章于 2022-12-02 19:06:36 发布