繁体   English   中英

在二维数组中查找具有 numpy 的特定元素

[英]find specific element with numpy in 2d array

我需要你的帮助,我是 Python 的新手,所以我需要在数组中搜索第一列中的特定值并返回在第二列中找到的文本。

dataProject = np.array([
    [1]['text 1'],
    [2]['text 2'],
    [3]['text 3'],
    [4]['text 4'],
    [5]['text 5']
])

a = np.where(dataProject[:,0].astype(int) == 2)
print(a)

在示例中,它必须返回“文本 2”,但它返回

(array([0], dtype=int64),)

假设您打算拥有一个 2D 数组,即 dataProject.ndim = 2,以下代码行将返回第一列等于 2 的第二列的所有值。

dataProject = np.array([[1, 'text 1'],
                        [2, 'text 2'],
                        [3, 'text 3'],
                        [4, 'text 4'],
                        [5, 'text 5']])

a = dataProject[dataProject[:,0].astype(int) == 2, 1]

在这种情况下print(a)将打印['text 2'] 正如评论所提到的,如果应该有一个唯一的键值映射,那么 Dict 将是一个更好的选择。 如果您只想要第一个实例而不是字符串列表,您可以print(a[0])或执行a = dataProject[dataProject[:,0].astype(int) == 2, 1][0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM