numpy找到数组中符合条件的数

这篇博客介绍了如何利用numpy库在Python中查找数组中满足特定条件的数值,通过实例详细阐述了筛选过程。

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

numpy找到数组中符合条件的数

import numpy as np

arr = np.array([1, 1, 1, 134, 45, 3, 46, 45, 65, 3, 23424, 234, 12, 12, 3, 546, 1, 2])
print(arr[arr > 3])

Output:

[  134    45    46    45    65 23424   234    12    12   546]

参考 https://blog.youkuaiyun.com/blackyuanc/article/details/77948703

### NumPy 中多维数组轴的概念 在NumPy中,数组的维度被称为轴(axis)。对于一个多维数组而言: - 一维数组只有一个轴,即`axis=0`。 - 对于二维数组,存在两个轴:第一个轴是垂直方向上的行(`axis=0`);第二个轴则是水平方向上的列(`axis=1`)。 - 类似地,在三维及以上的情况下,会继续增加新的轴来描述更高层次的空间结构。 当涉及到操作这些数组时,“轴”的概念非常重要。许多函允许指定沿着哪个轴执行特定运算[^1]。 例如,考虑一个形状为(3,4)的二维数组A: ```python import numpy as np A = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]) print(A.sum(axis=0)) # 输出每一列之和 [15 18 21 24] print(A.sum(axis=1)) # 输出每一行之和 [10 26 42] ``` 这段代码展示了如何通过设置不同的`axis`参来计算不同方向上元素的总和。 ### 使用 `np.min()` 函处理多维数组中的最小查询 针对给定的一个或多个人未知大小的多维数组,可以利用`.min()`方法找到整个数组或者沿某一特定轴方向上的最小。此过程同样依赖于理解并正确应用“轴”的定义。 假设有一个名为B的四维随机整型数组: ```python B = np.random.randint(low=-100, high=100, size=(2,3,4)) print(B.min()) # 获取全局最小 print(B.min(axis=0)) # 沿着第零个轴求取每一对应位置处的最小 print(B.min(axis=1)) # 沿着第一个轴求取... print(B.min(axis=2)) # 沿着第二个轴求取... ``` 上述例子说明了怎样基于所选轴获取相应的最小信息。 ### 据筛选实例——依据条件提取子集 如果想要从未知尺寸但已知结构特征(如训练样本量、输入特征目等)的大规模据集中挑选符合条件的部分,则可以通过布尔索引来实现这一点。这通常涉及创建一个与目标数组具有相同长度的一维逻辑向量作为过滤器[^4]。 举个具体的例子来说,如果有如下形式的据集用于机器学习模型训练: ```python x_train = np.zeros((3000, 5, 4), dtype=float) # 构建模拟训练据 labels = np.random.choice([0, 1, 2, 3, 4], size=3000) # 找到所有属于类别'1'的据项 filtered_data = x_train[labels == 1] print(filtered_data.shape) ``` 这里演示的是如何根据标签列表`labels`内的等于1的位置去截取出对应的三阶张量片段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值