【numpy简介、入门、数组创建】

简介: 【numpy简介、入门、数组创建】

什么是 NumPy?

NumPy 是用于处理数组的 python 库。

它还拥有在线性代数、傅立叶变换和矩阵领域中工作的函数。

NumPy 由 Travis Oliphant 于 2005 年创建。它是一个开源项目,您可以自由使用它。

NumPy 指的是数值 Python(Numerical Python)。

为何使用 NumPy?

在 Python 中,我们有满足数组功能的列表,但是处理起来很慢。

NumPy 旨在提供一个比传统 Python 列表快 50  倍的数组对象。

NumPy 中的数组对象称为 ndarray,它提供了许多支持函数,使得利用 ndarray 非常容易。

数组在数据科学中非常常用,因为速度和资源非常重要。

数据科学:计算机科学的一个分支,研究如何存储、使用和分析数据以从中获取信息

为什么 NumPy 比列表快?

与列表不同,NumPy 数组存储在内存中的一个连续位置,因此进程可以非常有效地访问和操纵它们。

这种行为在计算机科学中称为引用的局部性。

这是 NumPy 比列表更快的主要原因。它还经过了优化,可与最新的 CPU 体系结构一同使用。

NumPy 用哪种语言编写?

NumPy 是一个 Python 库,部分用 Python 编写,但是大多数需要快速计算的部分都是用 C 或 C ++ 编写的。

NumPy 代码库在哪里?

NumPy 的源代码位于这个 github 资料库中:资料库

github:使许多人可以在同一代码库上工作。

NumPy 入门

安装 NumPy

如果您已经在系统上安装了 Python 和 PIP,那么安装 NumPy 非常容易。

请使用这条命令安装它:

C:\Users\Your Name>pip install numpy

导入 NumPy

安装 NumPy 后,通过添加 import 关键字将其导入您的应用程序:

import numpy

实例

import numpy 
arr = numpy.array([1, 2, 3, 4, 5]) 
print(arr)

NumPy as np

NumPy 通常以 np 别名导入。

别名:在 Python 中,别名是用于引用同一事物的替代名称。

请在导入时使用 as 关键字创建别名:

import numpy as np

在,可以将 NumPy 包称为 np 而不是 numpy。

实例

import numpy as np 
arr = np.array([1, 2, 3, 4, 5]) 
print(arr)

检查 NumPy 版本

版本字符串存储在 version 属性中。

实例

import numpy as np
print(np.__version__)

numpy数组创建

创建 NumPy ndarray 对象

NumPy 用于处理数组。 NumPy 中的数组对象称为 ndarray。

我们可以使用== array() 函数创建一个 NumPy ndarray 对象。==

实例

import numpy as np 
arr = np.array([1, 2, 3, 4, 5])
print(arr)
print(type(arr))

type(): 这个内置的 Python 函数告诉我们传递给它的对象的类型。像上面的代码一样,它表明 arr 是 numpy.ndarray 类型。

要创建 ndarray,我们可以将列表、元组或任何类似数组的对象传递给 array() 方法,然后它将被转换为 ndarray:

实例

使用元组创建 NumPy 数组:

import numpy as np 
arr = np.array((1, 2, 3, 4, 5))
print(arr)

数组中的维

数组中的维是数组深度(嵌套数组)的一个级别。

嵌套数组指的是将数组作为元素的数组。

0-D 数组

0-D 数组,或标量(Scalars),是数组中的元素。数组中的每个值都是一个 0-D 数组。

实例

用值 61 创建 0-D 数组:

import numpy as np
arr = np.array(61)
print(arr)

1-D 数组

其元素为 0-D 数组的数组,称为一维或 1-D 数组。

这是最常见和基础的数组。

实例

创建包含值 1、2、3、4、5、6 的 1-D 数组:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
print(arr)

2-D 数组

其元素为 1-D 数组的数组,称为 2-D 数组。

它们通常用于表示矩阵或二阶张量。

NumPy 有一个专门用于矩阵运算的完整子模块 numpy.mat。

实例

创建包含值 1、2、3 和 4、5、6 两个数组的 2-D 数组:

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr)

3-D 数组

其元素为 2-D 数组的数组,称为 3-D 数组。

实例

用两个 2-D 数组创建一个 3-D 数组,这两个数组均包含值 1、2、3 和 4、5、6 的两个数组:

import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])
print(arr)

检查维数?

NumPy 数组提供了 ndim 属性,该属性返回一个整数,该整数会告诉我们数组有多少维。

实例

检查数组有多少维:

import numpy as np
a = np.array(42)
b = np.array([1, 2, 3, 4, 5])
c = np.array([[1, 2, 3], [4, 5, 6]])
d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])
print(a.ndim) 
print(b.ndim) 
print(c.ndim) 
print(d.ndim)

更高维的数组

数组可以拥有任意数量的维。

在创建数组时,可以使用 ndmin 参数定义维数。

实例

创建一个有 5 个维度的数组,并验证它拥有 5 个维度:

import numpy as np
arr = np.array([1, 2, 3, 4], ndmin=5)
print(arr)
print('number of dimensions :', arr.ndim)
相关文章
|
19天前
|
计算机视觉 Python
PIL图像转换为Numpy数组:技术与案例详解
本文介绍了如何将PIL图像转换为Numpy数组,以便利用Numpy进行数学运算和向量化操作。首先简要介绍了PIL和Numpy的基本功能,然后详细说明了转换过程,包括导入库、打开图像文件、使用`np.array()`或`np.asarray()`函数进行转换,并通过打印数组形状验证转换结果。最后,通过裁剪、旋转和缩放等案例展示了转换后的应用,以及如何将Numpy数组转换回PIL图像。此外,还介绍了处理base64编码图像的完整流程。
33 4
|
3月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧2
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
107 10
|
3月前
|
Python
Numpy学习笔记(四):如何将数组升维、降维和去重
本文介绍了如何使用NumPy库对数组进行升维、降维和去重操作。
70 1
|
3月前
|
Python
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
79 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
|
3月前
|
Python
使用 NumPy 进行数组操作的示例
使用 NumPy 进行数组操作的示例
49 2
|
3月前
|
索引 Python
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧1
【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧
137 4
|
3月前
|
机器学习/深度学习 并行计算 调度
CuPy:将 NumPy 数组调度到 GPU 上运行
CuPy:将 NumPy 数组调度到 GPU 上运行
143 1
|
3月前
|
数据挖掘 索引 Python
Python数据分析篇--NumPy--入门
Python数据分析篇--NumPy--入门
53 0
|
4月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
117 0
|
5月前
|
机器学习/深度学习 数据处理 计算机视觉
NumPy实践宝典:Python高手教你如何轻松玩转数据处理!
【8月更文挑战第22天】NumPy是Python科学计算的核心库,专长于大型数组与矩阵运算,并提供了丰富的数学函数。首先需安装NumPy (`pip install numpy`)。之后可通过创建数组、索引与切片、执行数学与逻辑运算、变换数组形状及类型、计算统计量和进行矩阵运算等操作来实践学习。NumPy的应用范围广泛,从基础的数据处理到图像处理都能胜任,是数据科学领域的必备工具。
69 0