python - 关于 np.nonzero(arr)[0] 中尾随 [0] 的作用的问题
问题描述
考虑以下代码片段:
import numpy as np
arr = np.array([True, True, False, True, False])
a = np.nonzero(arr)
b = np.nonzero(arr)[0]
输出a
:
(array([0, 1, 3], dtype=int64),)
输出为b
[0 1 3]
问题:与a的输出不同,为什么 [0] 导致 b的输出仅包含数组而不包含 dtype?
解决方案
大多数 Python容器(包括tuple
. 结果是 a ,如果您注意到最后一个右括号之前的尾随逗号,您可以直观地看到它。repr
str(a)
repr(a)
np.nonzero
tuple
当 anndarray
与 一起显示时str
,可以通过数据明确显示的 dtype 不会获得明确的 dtype 标签。这包括np.int_
, np.float_
(它总是有一个小数点,即使只是一个尾随的小数点)和np.bool_
. 由于b
已从元组中提取并具有标准 dtype,因此可以以简化形式显示。
相反,您可以获得类似于您所看到的输出格式a
。repr(b)
推荐阅读
- python - groupByKey 或 reduceByKey [spark/python]
- java - 尝试使用 Android Studio 连接到 Firebase 时出错
- python - SoftmaxMultiClassObj:标签大小和 pred 大小不匹配 - XGBoost
- c# - 在基于 Linux 的 Azure DevOps 代理上找不到 TimeZone ID
- sql-server - VS Code mysql ext“删除密码”settings.json
- python - Python解压文件
- javascript - 获取 Chrome 扩展内容脚本以识别 URL 哈希中的延迟更改
- node.js - 节点 - 组合来自多个 API 的数据
- entity-framework-core - 将 EF Core 连接到 Azure Databricks
- r - AddLegend 基于 r 传单中的反应值