DataFrame.info()

Метод info() печатает краткую техническую сводку DataFrame: количество строк и столбцов, имена и типы столбцов, число непустых значений, расход памяти. Незаменим для первичного осмотра датасета.

Сигнатура

DataFrame.info(verbose=None, buf=None, max_cols=None,
               memory_usage=None, show_counts=None)

Параметры

  • verbose — печатать полный список столбцов (True) или сокращённый.

  • buf — куда писать вывод (по умолчанию sys.stdout).

  • max_cols — порог переключения на сокращённый вывод.

  • memory_usage — True / False / 'deep' (точная оценка для object-столбцов).

  • show_counts — показывать количество не-NaN значений.

Возвращаемое значение

None — метод печатает результат, ничего не возвращает.

Примеры

Пример 1. Базовый вывод

import pandas as pd

df = pd.DataFrame({
    "temp":     [22.1, 23.0, 21.5],
    "humidity": [55, 60, 58],
    "sensor":   ["A", "B", "A"],
})
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column    Non-Null Count  Dtype
---  ------    --------------  -----
 0   temp      3 non-null      float64
 1   humidity  3 non-null      int64
 2   sensor    3 non-null      object
dtypes: float64(1), int64(1), object(1)
memory usage: 200.0+ bytes

Пример 2. Глубокий замер памяти

import pandas as pd

df = pd.DataFrame({"cmd": ["FWD", "LEFT", "STOP"] * 1000})
df.info(memory_usage="deep")
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3000 entries, 0 to 2999
Data columns (total 1 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   cmd     3000 non-null   object
dtypes: object(1)
memory usage: 168.0 KB

Пример 3. Скрыть подсчёт non-null

import pandas as pd

df = pd.DataFrame({"a": [1, 2], "b": [3, 4]})
df.info(show_counts=False)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2 entries, 0 to 1
Data columns (total 2 columns):
 #   Column  Dtype
---  ------  -----
 0   a       int64
 1   b       int64
dtypes: int64(2)
memory usage: 160.0 bytes

Пример 4. Запись в файл/буфер

import pandas as pd
import io

df = pd.DataFrame({"x": [1, 2, 3]})
buf = io.StringIO()
df.info(buf=buf)
text = buf.getvalue()
print(len(text), "символов")
292 символов

Пример 5. Поиск столбцов с пропусками

import pandas as pd
import numpy as np

df = pd.DataFrame({
    "ok":  [1, 2, 3],
    "bad": [1.0, np.nan, np.nan],
})
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   ok      3 non-null      int64
 1   bad     1 non-null      float64
dtypes: float64(1), int64(1)
memory usage: 176.0 bytes

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.