Spec-Zone.ru › pandas 0.25

pandas.DataFrame.info

DataFrame.info(self, verbose=None, buf=None, max_cols=None, memory_usage=None, null_counts=None) [source]

Вывести краткое описание DataFrame.

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

Параметры:
verbose : bool, optional

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

buf : writable buffer, defaults to sys.stdout

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

max_cols : int, optional

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

memory_usage : bool, str, optional

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

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

null_counts : bool, optional

Выводить ли количество ненулевых значений. По умолчанию это отображается только если размер фрейма меньше 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)
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 3 columns):
int_col      5 non-null int64
text_col     5 non-null object
float_col    5 non-null float64
dtypes: float64(1), int64(1), object(1)
memory usage: 248.0+ bytes

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

>>> df.info(verbose=False)
<class 'pandas.core.frame.DataFrame'>
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:  # doctest: +SKIP
...     f.write(s)
260

Параметр 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()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000000 entries, 0 to 999999
Data columns (total 3 columns):
column_1    1000000 non-null object
column_2    1000000 non-null object
column_3    1000000 non-null object
dtypes: object(3)
memory usage: 22.9+ MB
>>> df.info(memory_usage='deep')
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1000000 entries, 0 to 999999
Data columns (total 3 columns):
column_1    1000000 non-null object
column_2    1000000 non-null object
column_3    1000000 non-null object
dtypes: object(3)
memory usage: 188.8 MB

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.25.0/reference/api/pandas.DataFrame.info.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API