Astropy получить длину таблицы

Как я могу получить длину (т.е. количество строк) таблицы astropy? Из документации есть несколько способов распечатать длину таблицы, например как t.info(). Однако я не могу использовать эту информацию в сценарии.

Как присвоить длину таблицы переменной?


person usernumber    schedule 16.10.2019    source источник
comment
len(t) должно работать.   -  person GeoMSI    schedule 16.10.2019
comment
@GeoMSI Как я об этом не подумал? Да, это работает!   -  person usernumber    schedule 17.10.2019


Ответы (1)


В Python встроенная функция len() обычно дает длину/размер некоторого объекта, похожего на коллекцию. Например, длина одномерного массива задается так:

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

Для таблицы вы могли бы спросить, что означает «размер» таблицы — количество строк? Количество столбцов? Общее количество элементов в таблице? Но похоже, вам нужно количество строк. В Python это почти всегда будет дано len() также и для табличных объектов (возможно, все, что делает иначе, является ошибкой). Вы можете рассмотреть это по аналогии с тем, как вы можете создать табличную структуру данных с простыми списками Python, вложив их:

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

Здесь каждая «строка» представлена ​​одним списком, вложенным во внешние списки, поэтому len(t) дает число строк. На самом деле это всего лишь соглашение, которое можно нарушить при необходимости. Например, вы также можете рассматривать приведенный выше t как список столбцов для некоторых данных, ориентированных на столбцы.

Но в Python мы обычно предполагаем, что двумерные массивы ориентированы на строки, если не указано иное. Помните, вы можете видеть, что синтаксис для вложенных списков, как я писал выше, выглядит ориентированным на строки.

Логика распространяется на массивы Numpy и другие более сложные структуры данных, построенные на них, такие как Table Astropy или Pandas DataFrames.

person Iguananaut    schedule 17.10.2019