Укрощение зверя: как отключить научный режим в Pandas

Pandas — это мощная библиотека манипулирования данными на Python, предоставляющая необходимые инструменты для анализа и предварительной обработки данных. Однако один аспект, который иногда может немного разочаровывать, — это научное обозначение по умолчанию, которое Pandas использует для представления больших или малых чисел. В этой статье мы рассмотрим различные способы отключения научного режима в Pandas, что позволит вам работать с числами в более читаемом формате. Итак, давайте нырнем и приручим зверя!

Метод 1: использование параметров Pandas
Pandas предоставляет систему параметров, которая позволяет вам настроить его поведение. Чтобы отключить научный режим, вы можете использовать функцию set_optionи установить для параметра display.float_formatзначение None. Вот как это можно сделать:

import pandas as pd
pd.set_option('display.float_format', None)

Метод 2: форматирование чисел с плавающей запятой с помощью applymap
Другой способ отключить экспоненциальное представление — использовать функцию applymapдля форматирования значений с плавающей запятой в вашем DataFrame. Этот подход позволяет применять пользовательскую функцию форматирования к каждому элементу DataFrame. Вот пример:

import pandas as pd
def format_float(x):
    return '{:.2f}'.format(x)
df = pd.DataFrame({'numbers': [1000000, 0.000001]})
df = df.applymap(format_float)
print(df)

Метод 3: использование astypeдля преобразования чисел с плавающей запятой в строки
В некоторых случаях вам может потребоваться напрямую преобразовать значения с плавающей запятой в строки, фактически отключив экспоненциальную запись. Этого можно добиться, используя функцию astypeдля преобразования столбцов в строковый тип данных. Вот пример:

import pandas as pd
df = pd.DataFrame({'numbers': [1000000, 0.000001]})
df['numbers'] = df['numbers'].astype(str)
print(df)

Метод 4: округление чисел
Другой способ сделать числа более читабельными — округлить их до определенного количества десятичных знаков. Pandas предоставляет функцию round, которая позволяет округлять значения в DataFrame или Series. Вот пример:

import pandas as pd
df = pd.DataFrame({'numbers': [1000000, 0.000001]})
df['numbers'] = df['numbers'].round(2)
print(df)

Метод 5. Использование параметра float_formatв to_string
. Если вы хотите отключить экспоненциальное представление при печати DataFrame, вы можете использовать to_stringс параметром float_format. Этот метод обеспечивает детальный контроль над строковым представлением DataFrame. Вот пример:

import pandas as pd
df = pd.DataFrame({'numbers': [1000000, 0.000001]})
formatted_df = df.to_string(float_format='%.2f')
print(formatted_df)

Используя эти методы, вы можете отключить научный режим в Pandas и работать с числами в более удобочитаемом формате. Предпочитаете ли вы настройку параметров, применение пользовательских функций форматирования, преобразование чисел с плавающей запятой в строки, округление значений или использование параметра float_format, Pandas предлагает различные подходы в соответствии с вашими потребностями. Так что вперед, приручайте зверя и сделайте свой путь анализа данных более плавным, чем когда-либо!