Astropy 获得 table 长度

Astropy get table length

如何获得 astropy Table 的长度(即行数)?从 the documentation 开始,有多种方法可以打印出 table 长度,例如 t.info()。但是,我不能在脚本中使用这些信息。

如何将 table 的长度分配给变量?

在Python 中,len() 内置函数通常给出一些类似集合的对象的length/size。例如,一维数组的长度如下:

>>> a = [1, 2, 3]
>>> len(a)
3

对于 table,您可能会问 table 的 "size" 是什么意思——行数?列数? table 中的项目总数?但听起来您想要 的数量。在 Python 中,这几乎总是由 len() 在类似 table 的对象上给出(可以说,任何否则都是错误的)。您可以通过类比来考虑如何使用简单的 Python 列表构建类似 table 的数据结构,方法是嵌套它们:

>>> t = [
...         [1, 2, 3],
...         [4, 5, 6],
...         [7, 8, 9]
...     ]

这里每个 "row" 由嵌套在外部列表中的单个列表表示,因此 len(t) 给出行数。事实上,这只是一个约定,如果需要,可以打破。例如,您还可以将上面的 t 视为某些面向列的数据的列列表。

但是在 Python 中,除非另有说明,否则我们通常假设二维数组是面向行的——请记住,您可以看到我上面写的嵌套列表的语法 看起来 面向行。

逻辑扩展到 Numpy 数组和其他更复杂的数据结构,例如 Astropy 的 Table 或 Pandas DataFrames.