相当于掩码数组的 np.array split

发布于 2025-01-17 07:47:57 字数 243 浏览 0 评论 0原文

numpy.ma.split_array 不存在。

因此,如果 arr 是掩码数组,以下代码是否按预期工作?

np.array_split(arr, multiprocessing.cpu_count())

如果没有,我应该如何定义函数 split_masked_array 来实现类似的行为?

numpy.ma.split_array does not exist.

Consequently, does the following code works as intended if arr is a masked array?

np.array_split(arr, multiprocessing.cpu_count())

If not, how should I define a function split_masked_array to achieve similar behavior?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

毅然前行 2025-01-24 07:47:57

不知道为什么你不尝试一下。似乎可行,但很难确定,因为您没有提供 最小可重现示例,所以我不不知道“按预期工作”是什么意思。

In [5]: x = np.ma.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], mask=[[1, 0, 0], [0, 1, 0], [0, 0, 1]])

In [6]: x
Out[6]:
masked_array(
  data=[[--, 2, 3],
        [4, --, 6],
        [7, 8, --]],
  mask=[[ True, False, False],
        [False,  True, False],
        [False, False,  True]],
  fill_value=999999)

In [7]: np.array_split(x, 3)
Out[7]:
[masked_array(data=[[--, 2, 3]],
              mask=[[ True, False, False]],
        fill_value=999999),
 masked_array(data=[[4, --, 6]],
              mask=[[False,  True, False]],
        fill_value=999999),
 masked_array(data=[[7, 8, --]],
              mask=[[False, False,  True]],
        fill_value=999999)]

Not sure why you didn't just try. Seems to work, but it's hard to tell for sure since you didn't provide a minimal reproducible example so I don't know what "works as intended" means.

In [5]: x = np.ma.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], mask=[[1, 0, 0], [0, 1, 0], [0, 0, 1]])

In [6]: x
Out[6]:
masked_array(
  data=[[--, 2, 3],
        [4, --, 6],
        [7, 8, --]],
  mask=[[ True, False, False],
        [False,  True, False],
        [False, False,  True]],
  fill_value=999999)

In [7]: np.array_split(x, 3)
Out[7]:
[masked_array(data=[[--, 2, 3]],
              mask=[[ True, False, False]],
        fill_value=999999),
 masked_array(data=[[4, --, 6]],
              mask=[[False,  True, False]],
        fill_value=999999),
 masked_array(data=[[7, 8, --]],
              mask=[[False, False,  True]],
        fill_value=999999)]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文