按关键词阅读:
介绍我非常喜欢Python中的NumPy库 。 在我的数据科学之旅中 , 我无数次依赖它来完成各种任务 , 从基本的数学运算到使用它进行图像分类!
简而言之 , NumPy是Python中最基本的库之一 , 也许是其中最有用的库 。 NumPy高效地处理大型数据集 。作为一名数据科学家或一名有抱负的数据科学专业人士 , 我们需要对NumPy及其在Python中的工作原理有一个扎实的掌握 。
文章插图
在本文中 , 我将首先描述一下NumPy库是什么 , 以及为什么你应该选择它而不是繁琐的Python列表 。 然后 , 我们将介绍一些最基本的NumPy操作 , 这些操作将使你喜欢这个很棒的库!
目录
- NumPy库是什么?
- Python列表与NumPy数组有什么区别?
- 创建NumPy数组基本的ndarray全零数组全一数组ndarray中的随机数定制的数组NumPy的Imatrix等间距的ndarray
- NumPy数组的形状与重塑NumPy数组的维数NumPy数组的形状NumPy数组的大小重塑NumPy数组展开NumPy数组NumPy数组的转置
- 扩展和压缩一个NumPy数组展开NumPy数组压缩NumPy数组
- NumPy数组的索引与切片一维数组的切片二维数组切片三维数组切片NumPy数组的负切片
- 堆叠和级联Numpy数组堆叠ndarrays级联ndarrays
- Numpy数组广播
- NumPy Ufuncs
- 用NumPy数组计算平均值、中位数和标准差最小最大值及其索引
- 在NumPy数组中排序
- NumPy数组和图像
数组是元素/值的集合 , 可以有一个或多个维度 。 一维数组称为向量 , 二维数组称为矩阵 。
NumPy数组称为ndarray或N维数组 , 它们存储相同类型和大小的元素 。 它以其高性能而闻名 , 并在数组规模不断扩大时提供高效的存储和数据操作 。
下载Anaconda时 , NumPy会预先安装 。 但是如果你想在你的机器上单独安装NumPy , 只需在你的终端上键入以下命令:
pip install numpy
现在需要导入库:import numpy as np
np实际上是数据科学界使用的NumPy的缩写 。Python列表与NumPy数组有什么区别?如果你熟悉Python , 你可能会想 , 既然我们已经有了Python列表 , 为什么还要使用NumPy数组?毕竟 , 这些Python列表充当一个数组 , 可以存储各种类型的元素 。 这是一个完全正确的问题 , 答案隐藏在Python在内存中存储对象的方式中 。
Python对象实际上是一个指向内存位置的指针 , 该内存位置存储有关该对象的所有详细信息 , 如字节和值 。 尽管这些额外的信息使Python成为一种动态类型语言 , 但它也付出了代价 , 这在存储大量对象(如在数组中)时变得显而易见 。
Python列表本质上是一个指针数组 , 每个指针指向一个包含与元素相关信息的位置 。 这在内存和计算方面增加了很多开销 。 当列表中存储的所有对象都是同一类型时 , 大多数信息都是冗余的!
为了解决这个问题 , 我们使用只包含同构元素的NumPy数组 , 即具有相同数据类型的元素 。 这使得它在存储和操作数组方面更加高效 。
当数组包含大量元素(比如数千或数百万个元素)时 , 这种差异就变得明显了 。 另外 , 使用NumPy数组 , 你可以执行元素操作 , 这是使用Python列表不可能做到的!
这就是为什么在对大量数据执行数学操作时 , NumPy数组比Python列表更受欢迎的原因 。
创建NumPy数组基本的ndarray考虑到NumPy数组解决的复杂问题 , 它很容易创建 。 要创建一个非常基本的ndarray , 可以使用np.array()方法 。 你只需将数组的值作为列表传递:
np.array([1,2,3,4])
输出:array([1, 2, 3, 4])
此数组包含整数值 。 可以在dtype参数中指定数据类型:np.array([1,2,3,4],dtype=np.float32)
输出:array([1., 2., 3., 4.], dtype=float32)
由于NumPy数组只能包含同构数据类型 , 因此如果类型不匹配 , 则将向上转换值:np.array([1,2.0,3,4])
输出:array([1., 2., 3., 4.])
在这里 , NumPy将整数值上移到浮点值 。NumPy数组也可以是多维的 。
np.array([[1,2,3,4],[5,6,7,8]])
array([[1, 2, 3, 4],[5, 6, 7, 8]])
在这里 , 我们创建了一个二维数组 。注:矩阵只是一个NxM形状的数字矩形数组 , 其中N是行数 , M是矩阵中的列数 。 你刚才看到的是一个2x4矩阵 。
稿源:(未知)
【傻大方】网址:http://www.shadafang.com/c/111J2SG2020.html
标题:NumPy简洁教程