Group_by不适用于带有mixin列的表[Astropy,Table]

时间:2019-01-02 02:50:37

标签: python mixins astropy

我正在尝试运行以下代码:

from astropy.table import Table
from astroquery.nasa_exoplanet_archive import NasaExoplanetArchive

exoplanets = NasaExoplanetArchive.get_confirmed_planets_table()
df=exoplanets.group_by('pl_orbsmax')
print(df)

并得到错误:

  

NotImplementedError:group_by不适用于带有mixin的表   列

我只想根据特定列中的条目提取数据。如何将该表转换为可以使用“ group_by”的格式?

我试图将列限制为只有几列,我确定这些列不能混入,例如:

subset=exoplanets['pl_discmethod','pl_orbsmax', 'pl_bmassj', 'st_mass']

,但出现相同的错误。我试图转换为熊猫,但那也不起作用。

1 个答案:

答案 0 :(得分:1)

mixin列的分组从3.1版开始实施:

In [3]: t = Table([[1,2], Time([1,2], format='cxcsec')], names=['x', 'time'])

In [4]: tg = t.group_by('x')

In [5]: tg.groups[1]
Out[5]: 
<Table length=1>
  x         time      
int64      object     
----- ----------------
    2 2.00000000000351

顺便说一句,您可以使用has_mixin_columns属性来明确检查mixin列:

In [7]: t.has_mixin_columns
Out[7]: True