一文掌握python数组numpy的全部用法(零基础学python(二))

简介: 一文掌握python数组numpy的全部用法(零基础学python(二))

NumPy 是一个 Python 中的数学和科学计算库,它提供了高效的多维数组对象和各种数组操作函数。NumPy 的核心是 ndarray(N-dimensional Array,N 维数组)对象,它是一种高效的数据容器,可以存储相同类型的多维数组。以下是 NumPy 的一些常见用法:


1.创建数组

可以使用 NumPy 中的 array() 函数来创建数组。例如:

import numpy as np

a = np.array([1, 2, 3])
print(a)  # 输出 [1, 2, 3]

b = np.array([[1, 2], [3, 4]])
print(b)  # 输出 [[1, 2], [3, 4]]


2.数组属性

可以使用 ndarray 对象的属性来获取数组的相关信息,例如数组的维度、形状、大小和数据类型等。例如:


import numpy as np

a = np.array([[1, 2], [3, 4]])
print(a.ndim)  # 输出 2,表示数组的维度为 2
print(a.shape)  # 输出 (2, 2),表示数组的形状为 2 行 2 列
print(a.size)  # 输出 4,表示数组的大小为 4
print(a.dtype)  # 输出 int64,表示数组的数据类型为 64 位整型


3.数组切片和索引

可以使用切片和索引来访问数组中的元素。和 Python 中的列表一样,NumPy 中的数组也是从 0 开始索引的。例如:

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(a[0, 0])  # 输出 1,表示访问数组中第一行第一列的元素
print(a[1, :])  # 输出 [4, 5, 6],表示访问数组中第二行的所有元素
print(a[:, 2])  # 输出 [3, 6, 9],表示访问数组中第三列的所有元素
print(a[0:2, 0:2])  # 输出 [[1, 2], [4, 5]],表示访问数组中前两行和前两列的元素


4.数组运算

NumPy 支持各种数组运算,包括数组的加、减、乘、除、取模、幂等运算。可以使用 NumPy 提供的函数来进行数组运算,例如:


import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = a + b  # 数组加法
print(c)  # 输出 [5, 7, 9]

d = a * b  # 数组乘法
print(d)  # 输出 [4, 10, 18]

e = np.dot(a, b)  # 数组点乘
print(e)  # 输出 32

f = np.sin(a)  # 数组正弦函数
print(f)  # 输出 [0.84147098, 0.90929743, 0.14112001]


5.数组形状

可以使用 reshape() 函数来改变数组的形状,例如:

import numpy as np

a = np.array([[1, 2], [3, 4], [5, 6]])
b = a.reshape(2, 3)
print(b)  # 输出 [[1, 2, 3], [4, 5, 6]]


6.数组拼接

可以使用 concatenate()函数来将多个数组拼接在一起,例如:

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.concatenate((a, b), axis=0)
print(c)  # 输出 [[1, 2], [3, 4], [5, 6], [7, 8]]


7.数组复制

可以使用 copy() 函数来复制数组,例如:

import numpy as np

a = np.array([1, 2, 3])
b = a.copy()
b[0] = 0
print(a)  # 输出 [1, 2, 3]
print(b)  # 输出 [0, 2, 3]

这就是 NumPy 的一些常见用法。NumPy 提供了丰富的数组操作函数,可以帮助我们更加高效地进行科学计算和数据分析。


No module named numpy 怎么解决

如果在Python中出现“no module named numpy”错误,通常意味着numpy库没有被正确地安装或者没有被正确地导入。以下是一些解决方法:


1.安装numpy库

在命令行中使用pip命令安装numpy库:

pip install numpy

请确保您的系统已经正确安装Python和pip工具,并且已经联网。


2.检查numpy库是否正确导入

在Python代码中,通过以下方式导入numpy库:

import numpy as np

如果出现“no module named numpy”错误,可能是因为导入方式不正确或者numpy库没有正确安装。请检查导入方式是否正确,并确认numpy库已经成功安装。


3.更新numpy库

如果已经安装了numpy库,但是仍然出现“no module named numpy”错误,可能是因为numpy库版本过旧或者与其他库的版本不兼容。可以尝试更新numpy库到最新版本:

pip install --upgrade numpy


4.检查Python路径

有时候,Python可能无法找到numpy库的安装路径,导致出现“no module named numpy”错误。可以通过以下方式检查Python路径是否正确:

import sys
print(sys.path)

如果numpy库的安装路径不在输出的路径列表中,可以手动将numpy库的路径添加到Python路径中。例如:

import sys
sys.path.append('/path/to/numpy')

其中,/path/to/numpy是numpy库的安装路径。


5.检查Python环境

如果以上方法仍然无法解决问题,可能是因为Python环境配置不正确。可以尝试重新安装Python,并确保numpy库正确安装。同时,建议使用虚拟环境来管理Python环境,避免不同版本的库之间的冲突。


总之,出现“no module named numpy”错误通常是因为numpy库没有正确地安装或者没有正确地导入。可以通过安装numpy库、检查numpy库是否正确导入、更新numpy库、检查Python路径和检查Python环境等方法来解决问题。

相关文章
|
3月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
393 0
|
3月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
223 0
|
3月前
|
机器学习/深度学习 PyTorch 算法框架/工具
python torch基础用法
本教程系统讲解PyTorch基础,涵盖张量操作、自动求导、神经网络构建、训练流程、GPU加速及模型保存等核心内容,结合代码实例帮助初学者快速掌握深度学习开发基础,是入门PyTorch的实用指南。
576 6
|
5月前
|
Go 调度 Python
Golang协程和Python协程用法上的那些“不一样”
本文对比了 Python 和 Go 语言中协程的区别,重点分析了调度机制和执行方式的不同。Go 的协程(goroutine)由运行时自动调度,启动后立即执行;而 Python 协程需通过 await 显式调度,依赖事件循环。文中通过代码示例展示了两种协程的实际运行效果。
260 7
|
5月前
|
机器学习/深度学习 API 异构计算
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
JAX是Google开发的高性能数值计算库,旨在解决NumPy在现代计算需求下的局限性。它不仅兼容NumPy的API,还引入了自动微分、GPU/TPU加速和即时编译(JIT)等关键功能,显著提升了计算效率。JAX适用于机器学习、科学模拟等需要大规模计算和梯度优化的场景,为Python在高性能计算领域开辟了新路径。
519 0
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
|
5月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
483 0
|
8月前
|
人工智能 数据库连接 API
掌握Python的高级用法:技巧、技术和实用性示例
本文分享了Python的高级用法,包括生成器、装饰器、上下文管理器、元类和并发编程等。生成器通过`yield`实现懒加载序列;装饰器用于增强函数功能,如添加日志或性能分析;上下文管理器借助`with`语句管理资源;元类动态定制类行为;并发编程利用`threading`和`asyncio`库提升任务执行效率。掌握这些高级概念可优化代码质量,解决复杂问题,提高程序性能与可维护性。
197 6
|
9月前
|
Python
Python教程:os 与 sys 模块详细用法
os 模块用于与操作系统交互,主要涉及夹操作、路径操作和其他操作。例如,`os.rename()` 重命名文件,`os.mkdir()` 创建文件夹,`os.path.abspath()` 获取文件绝对路径等。sys 模块则用于与 Python 解释器交互,常用功能如 `sys.path` 查看模块搜索路径,`sys.platform` 检测操作系统等。这些模块提供了丰富的工具,便于开发中处理系统和文件相关任务。
434 14
一分钟看懂Python中的 // 和 / 和 % 的用法区别
一分钟看懂Python中的 // 和 / 和 % 的用法区别

推荐镜像

更多