Spec-Zone.ru › pandas 2

pandas.DataFrame.info

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

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

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

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

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

buf:буферизуемый объект, по умолчанию sys.stdout

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

max_cols:int, необязательно

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

memory_usage:bool, str, необязательно

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

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

show_counts:bool, необязательно

Показывать ли количество ненулевых значений. По умолчанию отображаются только для 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)
<class 'pandas.core.frame.DataFrame'>
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)
<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:  
...     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    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')
<class 'pandas.core.frame.DataFrame'>
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

© 2008–2022, 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/2.2.2/reference/api/pandas.DataFrame.info.html

Spec-Zone.ru

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