2

我正在尝试使用 astropy.cosmology。正如文档所说,当我使用哈勃参数方法时,它应该给我一个带有单位的值 - astropy.cosmology 文档

但它只给了我一个数字,可以在这里看到 -

ohm@ohm-ThinkCentre-M57:~/projects/mucalc$ python
Python 2.7.3 (default, Sep 26 2013, 20:08:41) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from astropy import cosmology
>>> cosmology.core.set_current(cosmology.Planck13)
>>> H0 = cosmology.H(10**6)
>>> print H0
647883886243.0
>>> H0.value
ERROR: AttributeError: 'numpy.float64' object has no attribute 'value' [unknown]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'numpy.float64' object has no attribute 'value'
>>> 

可能是什么问题?

4

1 回答 1

7

Astropy 0.3 中添加了对数量的支持(请参见此处),因此您看到的是 Astropy 0.2.x 的预期行为。这是 0.3 的输出:

In [1]: from astropy import cosmology

In [2]: cosmology.core.set_current(cosmology.Planck13)

In [3]: H0 = cosmology.H(10**6)

In [4]: print H0
6.47883897961e+11 km / (Mpc s)

请注意,您还可以执行以下操作:

In [8]: from astropy.cosmology import Planck13

In [9]: print Planck13.H(10**6)
6.47883897961e+11 km / (Mpc s)

哪个更简洁。

于 2014-02-04T15:05:49.250 回答