我正在尝试运行以下代码:
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']
,但出现相同的错误。我试图转换为熊猫,但那也不起作用。
答案 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