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.