python - 如何取消屏蔽 numpy 数组?
问题描述
我有点坚持如何取消屏蔽 numpy 数组。我正在尝试同时使用 ma.getdata() 和 .data 来做到这一点,但两者都不起作用。
我从一个名为 GAIA 的太空望远镜获取数据,它会在“astropy”表中输出数据,并且可以转换为 numpy ndarrays 或 MaskedArrays(它自己决定)。下面的代码:
import astropy.units as u
from astropy.coordinates.sky_coordinate import SkyCoord
from astropy.units import Quantity
from astroquery.gaia import Gaia
import matplotlib.pyplot as plt
import numpy as np
import numpy.ma as ma
import math
from astroquery.gaia import Gaia
omegaCenPropagated = Gaia.launch_job_async("SELECT EPOCH_PROP(\
ASTROMETRIC_PARAMETERS(ra, dec, parallax, pmra, pmdec, radial_velocity),2015.5,2000) \
FROM gaiadr2.gaia_source \
WHERE CONTAINS(POINT('ICRS',gaiadr2.gaia_source.ra,gaiadr2.gaia_source.dec),CIRCLE('ICRS',201.697,-47.47947222,.3))=1 \
AND abs(pmra_error/pmra)<0.20 \
AND abs(pmdec_error/pmdec)<0.20 \
AND pmra BETWEEN -4.02 AND -3.21 \
AND pmra IS NOT NULL AND abs(pmra)>0 \
AND pmdec IS NOT NULL AND abs(pmdec)>0 \
AND pmdec BETWEEN -6 AND -3.71;")
results = omegaCenPropagated.get_results()
masky = results.as_array()
print(ma.getdata(masky))
>>>[(masked_array(data=[201.35747106846168, -47.28848303227665,
-0.02630335368796253, -3.8819064907919567,
-5.029023407698611, -3.032918049269323e-06],
mask=[False, False, False, False, False, False],
fill_value=1e+20),)
...
(masked_array(data=[201.83081659137244, -47.657480633878315,
0.4774726120269464, -3.8031607521848794,
-5.819234686494674, -3.631625948716173e-06],
mask=[False, False, False, False, False, False],
fill_value=1e+20),)]
>>>
解决方案
有什么问题?我可以从您的问题中复制粘贴:
In [186]: alist=[(np.ma.masked_array(data=[201.35747106846168, -47.28848303227665,
...: -0.02630335368796253, -3.8819064907919567,
...: -5.029023407698611, -3.032918049269323e-06],
...: mask=[False, False, False, False, False, False],
...: fill_value=1e+20),)
...: ,
...: (np.ma.masked_array(data=[201.83081659137244, -47.657480633878315,
...: 0.4774726120269464, -3.8031607521848794,
...: -5.819234686494674, -3.631625948716173e-06],
...: mask=[False, False, False, False, False, False],
...: fill_value=1e+20),)]
In [187]: alist
Out[187]:
[(masked_array(data=[201.35747106846168, -47.28848303227665,
-0.02630335368796253, -3.8819064907919567,
-5.029023407698611, -3.032918049269323e-06],
mask=[False, False, False, False, False, False],
fill_value=1e+20),),
(masked_array(data=[201.83081659137244, -47.657480633878315,
0.4774726120269464, -3.8031607521848794,
-5.819234686494674, -3.631625948716173e-06],
mask=[False, False, False, False, False, False],
fill_value=1e+20),)]
In [188]: len(alist)
Out[188]: 2
In [189]: len(alist[0])
Out[189]: 1
数组之一,及其data
:
In [190]: alist[0][0]
Out[190]:
masked_array(data=[201.35747106846168, -47.28848303227665,
-0.02630335368796253, -3.8819064907919567,
-5.029023407698611, -3.032918049269323e-06],
mask=[False, False, False, False, False, False],
fill_value=1e+20)
In [191]: alist[0][0].data
Out[191]:
array([ 2.01357471e+02, -4.72884830e+01, -2.63033537e-02, -3.88190649e+00,
-5.02902341e+00, -3.03291805e-06])
推荐阅读
- node.js - 如何设置节点 http 代理来拦截特定的请求/响应?
- python - 更改颜色是基于数据库中列的表格单元格
- devops - 无法重新加载 Prometheus 配置
- javascript - 如何在 React 功能组件中正确设置 setInterval 计时器?
- python - 尽管有 GIL,多线程仍可加速 CPU 密集型任务
- python - 如何在 Python 中读取 .xz 文件?
- ios - 在应用存档时在 Realm 中收到警告
- sql - 我的 .Include 语句执行 INNER JOIN 而不是 LEFT JOIN (EF Core 3.1)
- python - 如何以 json 格式将 Python 变量打印到终端
- typescript - 如何使用 Express API 创建删除路由