我想绘制points
:
points = np.random.multivariate_normal(mean=(0,0), cov=[[0.4,9],[9,10]],size=int(1e4))
print(points)
[[-2.50584156 2.77190372]
[ 2.68192136 -3.83203819]
...,
[-1.10738221 -1.72058301]
[ 3.75168017 5.6905342 ]]
print(type(points))
<class 'numpy.ndarray'>
data = ascii.read(datafile)
type(data['ra'])
astropy.table.column.Column
type(data['dec'])
astropy.table.column.Column
然后我尝试:
points = np.array([data['ra']], [data['dec']])
并得到一个
TypeError: data type not understood
想法?
astropy Table Column 对象可以使用以下命令转换为 numpy 数组data
属性:
In [7]: c = Column([1, 2, 3])
In [8]: c.data
Out[8]: array([1, 2, 3])
您还可以使用以下命令将整个表转换为 numpy 结构化数组as_array()
表法(例如data.as_array()
在你的例子中)。
顺便说一句,我认为真正的问题不是天文学Column
但是你的 numpy 数组创建语句。大概应该是:
arr = np.array([data['ra'], data['dec']])
这适用于Column
对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)