我有一把标准的np.array,型号是np.int32:

idx = array([ 607, 638, 639, ..., 9279, 9317, 9318], dtype=int32)

为了确保int32实际上是np.int32,我使用以下命令进行验证:

>>> type(idx[0])
<class 'numpy.int32'>

为了稍后使用这个数组,我需要它们的类型为int(原因是我希望使用cppyy来对a std::vector<T>进行DO索引,这似乎对索引类型很严格).因此,我认为我能做到

>>> idx2 = idx.astype(int)

但这给了我们

>>> type(idx2[0])
<class 'numpy.int64'>

我一定要用这样的东西吗?

>>> idx3 = [int(k) for k in idx]
>>> type(idx3[0])
<class 'int'>

有什么建议吗?

Update 1:也许这将提供更多关于std::vector的索引的信息:

>>> v[idx[0]]
*** TypeError: an integer is required

鉴于

>>> v[int(idx[0])]
<cppyy.gbl.std.vector<double> object at 0x559a9a8845a8>

Update 2:对我来说,转换为List是令人满意的,我已经接受了这个答案.

推荐答案

IIUC,您可以使用.tolist():

idx = np.array([607, 638, 939], dtype=np.int32)
idx3 = idx.tolist()

print(type(idx3[0]))

打印:

<class 'int'>

Python相关问答推荐

使用mySQL的SQlalchemy过滤重叠时间段

当使用keras.utils.Image_dataset_from_directory仅加载测试数据集时,结果不同

' osmnx.shortest_track '返回有效源 node 和目标 node 的'无'

如何列举Pandigital Prime Set

如何过滤包含2个指定子字符串的收件箱列名?

无法定位元素错误404

如何更改分组条形图中条形图的 colored颜色 ?

Python,Fitting into a System of Equations

如何在WSL2中更新Python到最新版本(3.12.2)?

如何使用Python以编程方式判断和检索Angular网站的动态内容?

多处理队列在与Forking http.server一起使用时随机跳过项目

合并与拼接并举

当条件满足时停止ODE集成?

Cython无法识别Numpy类型

比Pandas 更好的 Select

pandas:在操作pandora之后将pandora列转换为int

如何在Airflow执行日期中保留日期并将时间转换为00:00

如果不使用. to_list()[0],我如何从一个pandas DataFrame中获取一个值?

有了Gekko,可以创建子模型或将模型合并在一起吗?

Numpy`astype(Int)`给出`np.int64`而不是`int`-怎么办?