Spec-Zone.ru › pandas 1

pandas.DataFrame.info

DataFrame.info(verbose=None, buf=None, max_cols=None, memory_usage=None, show_counts=None, null_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 с глубоким исследованием”. Использование памяти отображается в удобочитаемых единицах (представление в двоичной системе). Без глубокого исследования оценка использования памяти производится на основе типа данных столбцов и количества строк, предполагая, что значения потребляют одинаковое количество памяти для соответствующих типов данных. С глубоким исследованием используется реальное вычисление использования памяти, что сопряжено с затратами вычислительных ресурсов. См. Часто задаваемые вопросы для получения более подробной информации.

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

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

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

Устарело начиная с версии 1.2.0: Используйте show_counts вместо этого.

Возвращает
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/1.5.0/reference/api/pandas.DataFrame.info.html

Spec-Zone.ru

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