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