gpt4 book ai didi

python - 我可以阻止 numpy.array 将元素转换为 numpy 数组吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:08:27 25 4
gpt4 key购买 nike

我正在尝试将以下内容转换为间隔对象的 2x2 numpy 数组:

from interval import interval  # from the "pyinterval" package
import numpy as np

np.array([
[interval([1.0, 2.0]), interval([1.0, 2.0])],
[interval([1.0, 2.0]), interval([1.0, 2.0])]
])

不幸的是,此操作将间隔转换为 numpy 数组,并为我提供了一个 2x2x1x2 矩阵。有什么方法可以防止这种情况发生在 numpy 数组或矩阵上吗?

我能够通过首先填充一个空数组来获得所需的结果,其中 jac 是间隔列表的列表:

arr = np.empty(shape=(2,2), dtype=interval)

for i in range(len(arr)):
for j in range(len(arr)):
arr[i][j] = jac[i][j]

话虽这么说,我怀疑有更优雅的方式来实现这一点。是否有更“pythonic”的方式来做到这一点?

最佳答案

似乎 numpy 会将任何 Sequence 之类的东西强制转换到一个新的维度,即使 np.array 是用 dtype=object 调用的.您可以通过直接使用 dtype=object 创建一个空数组然后手动填充它来解决这个问题。

interval_list = get_intervals()
interval_array = np.ndarray(len(interval_list), dtype=object)

for i, interv in enumerate(interval_list):
interval_array[i] = interv

关于python - 我可以阻止 numpy.array 将元素转换为 numpy 数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43722023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com