gpt4 book ai didi

python - 用 `np.nan` 填充嵌套 numpy 数组时的奇怪行为

转载 作者:行者123 更新时间:2023-11-30 22:54:29 26 4
gpt4 key购买 nike

我有一个带有嵌套数据类型的 numpy 数组:

dt = np.dtype([('e', '<f8'), ('n', '<i8'), ('pos', '<f8', (3,))])
arr = np.zeros(5, dtype=dt)

array([(0.0, 0, [0.0, 0.0, 0.0]), (0.0, 0, [0.0, 0.0, 0.0]),
(0.0, 0, [0.0, 0.0, 0.0]), (0.0, 0, [0.0, 0.0, 0.0]),
(0.0, 0, [0.0, 0.0, 0.0])],
dtype=[('e', '<f8'), ('n', '<i8'), ('pos', '<f8', (3,))])

我试图用 np.nan 填充整个数组:

arr[:] = np.nan

但是,这并没有按预期工作:

array([(nan, -9223372036854775808, [nan, nan, nan]),
(nan, -9223372036854775808, [nan, nan, nan]),
(nan, -9223372036854775808, [nan, nan, nan]),
(nan, -9223372036854775808, [nan, nan, nan]),
(nan, -9223372036854775808, [nan, nan, nan])],
dtype=[('e', '<f8'), ('n', '<i8'), ('pos', '<f8', (3,))])

这里的第二列显然不是nan

知道如何解决这个问题吗?

最佳答案

第二列不能为nan。它有一个整数类型。整数没有 nan 表示形式。

值 -9223372036854775808 为 -2**63,即最大负数 64 位有符号整数。

关于python - 用 `np.nan` 填充嵌套 numpy 数组时的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37751561/

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