Numpy入门

Numpy是Python的数学库,提供快速的数组操作。本文介绍了如何创建和读取数组,包括一维和多维数组,以及查找位置、填充数组的方法。还探讨了数组的数学运算、切片操作、属性使用,如cumsum()函数,以及高级索引技巧,如使用布尔值筛选和where函数。虽然只是学习小结,但涵盖了Numpy的基础操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是numpy

NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组。它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体验在原生Python中永远无法体验到的速度。

数组的创建和读取

引用和导入

import numpy as np

创建一个numpy数组

# 创建一个numpy数组表示向量
my_array = np.array([1, 2, 3, 4, 5])
my_array1 = np.arange(5)

print(my_array)
print(my_array1)
输出:
[1 2 3 4 5]
[0 1 2 3 4]

创建多维数组来表示矩阵

a = np.array([[11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25],
              [26, 27, 28 ,29, 30],
              [31, 32, 33, 34, 35]])
print(a[3,4])

输出:
30

查找位置

# 按下标位置查找值
index0 = my_array[0]
# 如果位置下标为负数 就是从结尾倒过来数 -1指的就是为5的那个元素
index_1 = my_array[-1]
print(index0)
print(index_1)

输出:
1
5

创建填充数组

zeros_array = np.zeros((5))
onrs_array = np.ones((5))
random_array = np.random.random((5))

print(zeros_array)
print(onrs_array)
print(random_array)

输出:
[ 0.  0.  0.  0.  0.]

[ 1.  1.  1.  1.  1.]

[ 
### NumPy 基础入门 #### 导入 NumPy 包 为了使用 NumPy 的功能,首先需要导入该库。通常情况下,会将其重命名为 `np` 以便于后续调用。 ```python import numpy as np ``` 这使得可以在整个程序中通过前缀 `np.` 来访问 NumPy 提供的各种函数和对象[^1]。 #### 创建 NumPy 数组 NumPy 中最基本的数据结构是 ndarray (n-dimensional array),即多维数组。可以通过多种方式来创建这些数组: - **从 Python 表转换** 可以直接利用现有的表数据构建 NumPy 数组 ```python list_data = [1, 2, 3] np_array = np.array(list_data) ``` - **内置函数生成** 使用特定模式自动生成数值序或特殊矩阵 ```python # arange 函数用于生成等差数并自动形成一维数组 sequence = np.arange(0, 10, 2) # 起始值为0,结束值小于10,步长为2 print(sequence) # reshape 方法可以改变现有数组的形状而不修改其内容 reshaped_sequence = sequence.reshape((2, -1)) print(reshaped_sequence) ``` 上述例子展示了如何创建一个简单的二维数组,并对其进重塑操作[^2]。 #### 多维数组的操作 对于更复杂的场景,比如处理图像或其他形式的网格化数据时,可能需要用到更高维度的数组。下面的例子演示了基于条件筛选子集的方法: ```python x = np.arange(16).reshape((4, -1)) filtered_x = x[x[:, 3] % 3 == 0] print(filtered_x) ``` 这里先创建了一个四的整型数组,接着根据第三元素能否被三整除作为过滤条件获取符合条件的向量集合[^3]。 #### 文件存取支持 除了内存中的计算外,有时还需要将 ndarrays 存储至磁盘或者加载已有的二进制文件。为此,提供了简便易用的 I/O 接口: ```python # 将数组保存成 .npy 格式的文件 file_path = 'example.npy' data_to_save = np.random.rand(5, 5) np.save(file=file_path, arr=data_to_save) # 加载之前保存过的 .npy 文件回到内存中 loaded_data = np.load(file_path) print(loaded_data) ``` 此过程不仅简化了持久化的流程,而且保持了原始数据类型的完整性[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值