pandas.DataFrame.info#

DataFrame.info(verbose=None, buf=None, max_cols=None, memory_usage=None, show_counts=None)[источник]#

Вывести краткую сводку DataFrame.

Этот метод выводит информацию о DataFrame, включая tип данных индекса и столбцов, ненулевые значения и использование памяти.

Параметры:
verbosebool, необязательно

Печатать ли полную сводку. По умолчанию используется настройка в pandas.options.display.max_info_columns следует.

bufзаписываемый буфер, по умолчанию sys.stdout

Куда отправлять вывод. По умолчанию вывод выводится в sys.stdout. Передайте записываемый буфер, если вам нужно дополнительно обработать вывод.

max_colsint, необязательный

Когда переключаться с подробного на сокращённый вывод. Если DataFrame содержит более max_cols столбцы, используется усечённый вывод. По умолчанию настройка в pandas.options.display.max_info_columns используется.

memory_usagebool, str, optional

Указывает, следует ли отображать общее использование памяти элементами DataFrame (включая индекс). По умолчанию это следует pandas.options.display.memory_usage настройка.

True всегда показывает использование памяти. False никогда не показывает использование памяти. Значение 'deep' эквивалентно "True с глубокой интроспекцией". Использование памяти отображается в удобочитаемых единицах (представление с основанием 2). Без глубокой интроспекции оценка памяти выполняется на основе типа данных столбца и количества строк, предполагая, что значения потребляют одинаковый объем памяти для соответствующих типов данных. При глубокой интроспекции памяти выполняется реальный расчет использования памяти за счет вычислительных ресурсов. См. Часто задаваемые вопросы для получения дополнительной информации.

show_countsbool, необязательно

Показывать ли количество ненулевых значений. По умолчанию это показывается только если DataFrame меньше, чем pandas.options.display.max_info_rows и pandas.options.display.max_info_columns. Значение True всегда показывает количество, а False никогда не показывает количество.

Возвращает:
None

Этот метод выводит сводку DataFrame и возвращает None.

Смотрите также

DataFrame.describe

Сгенерировать описательную статистику столбцов DataFrame.

DataFrame.memory_usage

Использование памяти столбцами DataFrame.

Примеры

>>> int_values = [1, 2, 3, 4, 5]
>>> text_values = ['alpha', 'beta', 'gamma', 'delta', 'epsilon']
>>> float_values = [0.0, 0.25, 0.5, 0.75, 1.0]
>>> df = pd.DataFrame({"int_col": int_values, "text_col": text_values,
...                   "float_col": float_values})
>>> df
    int_col text_col  float_col
0        1    alpha       0.00
1        2     beta       0.25
2        3    gamma       0.50
3        4    delta       0.75
4        5  epsilon       1.00

Выводит информацию обо всех столбцах:

>>> df.info(verbose=True)

RangeIndex: 5 entries, 0 to 4
Data columns (total 3 columns):
 #   Column     Non-Null Count  Dtype
---  ------     --------------  -----
 0   int_col    5 non-null      int64
 1   text_col   5 non-null      object
 2   float_col  5 non-null      float64
dtypes: float64(1), int64(1), object(1)
memory usage: 248.0+ bytes

Выводит сводку по количеству столбцов и их типам данных, но не информацию по каждому столбцу:

>>> df.info(verbose=False)

RangeIndex: 5 entries, 0 to 4
Columns: 3 entries, int_col to float_col
dtypes: float64(1), int64(1), object(1)
memory usage: 248.0+ bytes

Перенаправление вывода DataFrame.info в буфер вместо sys.stdout, получение содержимого буфера и запись в текстовый файл:

>>> import io
>>> buffer = io.StringIO()
>>> df.info(buf=buffer)
>>> s = buffer.getvalue()
>>> with open("df_info.txt", "w",
...           encoding="utf-8") as f:  
...     f.write(s)
260

The memory_usage параметр включает режим глубокой интроспекции, особенно полезный для больших DataFrame и тонкой настройки оптимизации памяти:

>>> random_strings_array = np.random.choice(['a', 'b', 'c'], 10 ** 6)
>>> df = pd.DataFrame({
...     'column_1': np.random.choice(['a', 'b', 'c'], 10 ** 6),
...     'column_2': np.random.choice(['a', 'b', 'c'], 10 ** 6),
...     'column_3': np.random.choice(['a', 'b', 'c'], 10 ** 6)
... })
>>> df.info()

RangeIndex: 1000000 entries, 0 to 999999
Data columns (total 3 columns):
 #   Column    Non-Null Count    Dtype
---  ------    --------------    -----
 0   column_1  1000000 non-null  object
 1   column_2  1000000 non-null  object
 2   column_3  1000000 non-null  object
dtypes: object(3)
memory usage: 22.9+ MB
>>> df.info(memory_usage='deep')

RangeIndex: 1000000 entries, 0 to 999999
Data columns (total 3 columns):
 #   Column    Non-Null Count    Dtype
---  ------    --------------    -----
 0   column_1  1000000 non-null  object
 1   column_2  1000000 non-null  object
 2   column_3  1000000 non-null  object
dtypes: object(3)
memory usage: 165.9 MB