gpt4 book ai didi

python - 在 python 中询问一个数字是否确实存在并且在 python 中未被屏蔽的方法是什么

转载 作者:行者123 更新时间:2023-12-01 05:16:34 25 4
gpt4 key购买 nike

我有一个 numpy 数组,其中包含 13 个已屏蔽的无效数字(零的对数)和 3 个有效数字:

 [[-- -- -- --]
[-- -- 0.0 0.3010299956639812]
[-- -- -- 0.0]
[-- -- -- --]]

我想打印出类似的内容

  numlist=[]
for item in array:
numlist.append(num)

for i in numlist:
if i is not masked:
print i

有什么建议吗?

最佳答案

您可以使用MaskedArray.compressed返回所有非屏蔽数据的方法:

print(arr.compressed())

每行打印一个值:

for val in arr.compressed():
print(val)
<小时/>

如果您想节省空间(而不是时间),可以使用 ravel (正如 @DSM 指出的那样)。要迭代非掩码条目,您可以使用 IT.izip 同时循环值和掩码。例如,

import itertools as IT
import numpy as np

arr = np.ma.masked_invalid(np.log(np.random.random((4,4))-0.5))
arr1d = arr.ravel()
for val, mask in IT.izip(arr1d, arr1d.mask):
if not mask:
print(val)

关于python - 在 python 中询问一个数字是否确实存在并且在 python 中未被屏蔽的方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23067530/

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