numpy-ndarray 相关问题

让 numpy.concatenate 返回正确的子类而不是普通的 ndarray

我有一个 numpy 数组子类,我希望能够连接它们。 将 numpy 导入为 np 类 BreakfastArray(np.ndarray): def __new__(cls, n=1): dtypes=[(“华夫饼”,在...

回答 1 投票 0

我可以创建一个包含没有嵌套循环的单位矩阵的多维数组吗?

假设我有一个 Numpy 数组 n 个索引,其中前 n-2 表示一些计数索引,最后 2 个索引表示一个 MxM 方阵。我想初始化这个结构,这样它将...

回答 2 投票 0

创建包含单位矩阵的多维数组

假设我有一个 Numpy 数组 n 个索引,其中前 n-2 表示一些计数索引,最后 2 个索引表示一个 MxM 方阵。我想初始化这个结构,这样它将...

回答 1 投票 0

使用另一个 2d 数组对 numpy 2d 数组进行切片

我有一个 (4,5) 的二维数组和另一个 (4,2) 形状的二维数组。第二个数组包含我需要从第一个数组中过滤掉的开始和结束索引,即我想对第一个数组进行切片...

回答 1 投票 0

JAX 中高效的自定义数组创建例程

我仍在掌握 jax 的最佳实践。我的广泛问题如下: 在 jax 中实现自定义数组创建例程的最佳实践是什么? 例如,我想要...

回答 1 投票 0

结合切片和高级索引时,Numpy 是否返回视图或复制?

以下片段: 将 numpy 导入为 np x = np.arange(25).reshape(5, 5) 打印(x.base) y = x[:2, [0, 2]] 打印(y.base) 输出 [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

回答 2 投票 0

使用拥有的内存返回nanobind中的ndarray

我想知道是否有人对 nanobind 有深入的了解,用于将 ndarray 从 c++ 返回到 python。 我只是想返回一个给定大小的 ndarray,并用数据填充它。我不想管理...

回答 1 投票 0

从标量和矩阵形成逐元素列表

我有一个零维 numpy 标量 s 和一个二维 numpy 矩阵 m。我想形成一个向量矩阵,其中 m 的所有元素都与 s 配对,如下例所示: 导入

回答 1 投票 0

如何转换源自尴尬数组的 numpy 数组的数据类型[关闭]

我有一个 numpy 数组,通过 to_numpy() 函数从笨拙的数组转换而来,结果数组的数据类型为: dtype=[('phi', ' 我有一个 numpy 数组,通过 to_numpy() 函数从笨拙的数组转换而来,结果数组的数据类型为: dtype=[('phi', ' 我尝试了常规的 asdtype 函数,但我得到的只是错误 我相信你的问题与此相同:你有一些带有记录结构的尴尬数组, >>> array = ak.Array([{"phi": 1.1, "eta": 2.2}, {"phi": 3.3, "eta": 4.4}]) 当您使用 ak.to_numpy 进行转换时,它会将记录字段转换为 NumPy 结构化数组 字段: >>> ak.to_numpy(array) array([(1.1, 2.2), (3.3, 4.4)], dtype=[('phi', '<f8'), ('eta', '<f8')]) TensorFlow 和 PyTorch 等 ML 库希望特征向量不具有带名称的字段,而是相反是二维数组,其中第二维范围涵盖所有特征。如果所有 NumPy 结构化数组数据类型都相同,因为在本例中它们都是 <f8,您可以查看它: >>> ak.to_numpy(array).view("<f8").reshape(len(array), -1) array([[1.1, 2.2], [3.3, 4.4]]) 但这不安全。例如,如果您的某些字段是 32 位而其他字段是 64 位,或者某些字段是整数而其他字段是浮点型,则 view 将重新解释内存,从而丢失数字的含义: >>> bad = np.array([(1, 2, 3.3), (4, 5, 6.6)], dtype=[("x", "<i4"), ("y", "<i4"), ("z", "<f8")]) >>> bad.view("<f8").reshape(len(bad), -1) array([[4.24399158e-314, 3.30000000e+000], [1.06099790e-313, 6.60000000e+000]]) (z的 3.3 和 6.6 被保留,但是 x 和 y 被合并到一个字段中,并且原始内存被解释为浮点数。) 相反,我们应该在 Awkward 中调整结构,它有工具可以完成这类事情,然后将其转换为 NumPy(并从那里转换为 TensorFlow 或 PyTorch)。 因此,我们从具有命名字段的记录数组开始: >>> array <Array [{phi: 1.1, eta: 2.2}, {...}] type='2 * {phi: float64, eta: float64}'> 我们希望命名字段消失并创建这些单独的数组。那是 ak.unzip. >>> ak.unzip(array) (<Array [1.1, 3.3] type='2 * float64'>, <Array [2.2, 4.4] type='2 * float64'>) (元组中的第一个来自 phi,第二个来自 eta。) 我们希望将每个字段的值一起放入机器学习模型的相同输入向量中。也就是说,1.1和2.2应该在向量[1.1, 2.2]中,并且3.3和4.4应该在向量[3.3, 4.4]中。这是该元组中数组的串联,但不是 axis=0 的串联,从而形成 [1.1, 3.3, 2.2, 4.4];它必须是更高层axis=1中的串联。该轴尚不存在,但我们始终可以使用 np.newaxis. 制作长度为 1 的轴。 >>> ak.unzip(array[:, np.newaxis]) (<Array [[1.1], [3.3]] type='2 * 1 * float64'>, <Array [[2.2], [4.4]] type='2 * 1 * float64'>) 现在 ak.concatenate 与 axis=1 会将 [1.1] 和 [2.2] 连接成 [1.1, 2.2] 等 >>> ak.concatenate(ak.unzip(array[:, np.newaxis]), axis=1) <Array [[1.1, 2.2], [3.3, 4.4]] type='2 * 2 * float64'> 最后,这里有一个单行代码,您可以将其传递给 TensorFlow,即使您的记录字段具有不同的 dtypes,它也能正常工作: >>> ak.to_numpy(ak.concatenate(ak.unzip(array[:, np.newaxis]), axis=1)) array([[1.1, 2.2], [3.3, 4.4]]) 或者,实际上,也许您可以跳过 ak.to_numpy 并直接进入 ak.to_tensorflow。

回答 1 投票 0

使用 if/else 条件进行向量化 Python

我对Python有点陌生,想摆脱for循环的使用,因为它使程序变得非常慢。所以我想对其进行矢量化。但是,我不确定如何在两个条件下使用它......

回答 1 投票 0

如何使用 NumPy 将重复条目从第二次出现开始标记为 True?

问题 我有一个 NumPy 数组,需要识别重复的元素,将第二次出现及之后的元素标记为 True,同时将第一次出现标记为 False。 例如,给定以下...

回答 1 投票 0

MODIS LST 切片串联或与 xarray 的合并问题

我在连接两个 xarray 数据文件时遇到问题。这两个文件(MODIS LST,通过 STAC API 访问)来自相同的日期/时间,但对应于相邻的地理图块(s...

回答 1 投票 0

我正在尝试使用 Pytorch 定义 NN 模型,但是当我想将 y-train 转换为 y-train-tensor 时出现类型错误,我应该如何修复它?

这是我的代码。我将威斯康星州乳腺癌数据库从 kaggle 导入到 vscode。所有数据集变量均为数字和浮点 64。存在此类型错误(发生异常:TypeError 不能骗...

回答 1 投票 0

如何同时替换numpy数组中的值[重复]

我有带有随机数的numpy数组。例如像这样 [7 1 2 0 2 3 4 0 5] 我想同时替换每个数字,如果这个数组中的数字= 7,我想用 2 替换它,al...

回答 2 投票 0

用一批 numpy 索引矩阵索引一批 numpy 向量

如果我有一个向量 vec,我可以用矩阵对其进行索引,如下所示: 将 numpy 导入为 np vec = np.asarray([1,2,3,4]) # 形状 (4,) mat = np.asarray([[0,2], [3,1]]) # 形状 (2,2) 结果...

回答 1 投票 0

删除 numpy ndarray 每行中的特定索引

我有以下类型的整数数组: 将 numpy 导入为 np Seed_idx = np.asarray([[0, 1], [1, 2], [2, 3], [3, 4]], dtype=np.int_)

回答 1 投票 0

如何为 numpy 数组输入编写一个函数,其操作取决于输入的数值

该函数具有以下数学形式 f(x) = 1,如果 x<1 = g(x), for 1<=x<10 = 0, for x >=10 其中 g(x) 是一个简单函数。 编写这样的函数很简单...

回答 1 投票 0

添加具有不同轴数组的 2D numpy 数组:如何用 RectBivariateSpline 正确替换已弃用的 interp2d?

我需要添加两个可能不同形状的 2D numpy 数组和不同的对应轴数组。 我的意思是这样的:让我们定义两组不同的 x 轴和 y 轴,并计算 z 值...

回答 1 投票 0

修改数组的 numpy 数组

我有一个 numpy 数组的 numpy 数组,我需要为每个内部数组添加一个前导零: a = [[1 2] [3 4] [5 6]] --> b = [[0 1 2] [0 3 4] [0 5 6]] 像这样循环: 对于项目我...

回答 1 投票 0

索引后保存numpy数组要慢得多

我遇到了一个问题,即在索引后保存 numpy 数组会导致保存速度慢得多。下面是一个最小的可重现示例: 导入时间 将 numpy 导入为 np def mre(save_pat...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.