Панды: как использовать описать() и удалить научную нотацию


Вы можете использовать функцию define() для создания описательной статистики для переменных в DataFrame pandas.

Чтобы удалить экспоненциальное обозначение из вывода функции описать() , вы можете использовать следующие методы:

Способ 1. Удаление экспоненциальных обозначений при использовании метода описания() со столбцом.

 df[' my_column ']. describe (). apply ( lambda x: format (x, ' f '))

Способ 2. Удаление научных обозначений при использовании метода описания() с несколькими столбцами.

 df. describe (). apply ( lambda x: x.apply (' {0:.5f} '. format ))

В следующих примерах показано, как использовать каждый метод на практике со следующим DataFrame pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' sales ': [8450550, 406530, 53000, 6000, 2000, 4000, 5400, 6500],
                   ' returns ':[2212200, 145200, 300, 2500, 700, 600, 800, 1200]})

#view DataFrame
print (df)

  store sales returns
0 A 8450550 2212200
1 A 406530 145200
2 A 53000 300
3 A 6000 2500
4 B 2000 700
5 B 4000 600
6 B 5400 800
7 B 6500 1200

Пример 1. Удалите экспоненциальное обозначение при использовании метода описания() со столбцом.

Если мы используем функцию описать() для расчета описательной статистики для столбца продаж , выходные значения будут отображаться в научной записи:

 #calculate descriptive statistics for sales column
df[' sales ']. describe ()

count 8.000000e+00
mean 1.116748e+06
std 2.966552e+06
min 2.000000e+03
25% 5.050000e+03
50% 6.250000e+03
75% 1.413825e+05
max 8.450550e+06
Name: sales, dtype: float64

Обратите внимание, что каждое из выходных значений отображается в научной записи.

Мы можем использовать следующий синтаксис, чтобы удалить научные обозначения из вывода:

 #calculate descriptive statistics for sales column and suppress scientific notation
df[' sales ']. describe (). apply ( lambda x: format (x, ' f '))

count 8.000000
mean 1116747.500000
std 2966551.594104
min 2000.000000
25% 5050.000000
50% 6250.000000
75% 141382.500000
max 8450550.000000
Name: sales, dtype: object

Обратите внимание, что значения в выводе теперь отображаются без научных обозначений.

Пример 2. Удалите экспоненциальное обозначение при использовании метода описания() с несколькими столбцами.

Если мы используем функцию описать() для расчета описательной статистики для каждого числового столбца, выходные значения будут отображаться в научной записи:

 #calculate descriptive statistics for each numeric column
df. describe ()

               sales returns
count 8.000000e+00 8.000000e+00
mean 1.116748e+06 2.954375e+05
std 2.966552e+06 7.761309e+05
min 2.000000e+03 3.000000e+02
25% 5.050000e+03 6.750000e+02
50% 6.250000e+03 1.000000e+03
75% 1.413825e+05 3.817500e+04
max 8.450550e+06 2.212200e+06

Обратите внимание, что каждое из выходных значений отображается в научной записи.

Мы можем использовать следующий синтаксис, чтобы удалить научные обозначения из вывода:

 #calculate descriptive statistics for numerical columns and suppress scientific notation
df. describe (). apply ( lambda x: x.apply (' {0:.5f} '. format ))

                sales returns
count 8.00000 8.00000
mean 1116747.50000 295437.50000
std 2966551.59410 776130.93692
min 2000.00000 300.00000
25% 5050.00000 675.00000
50% 6250.00000 1000.00000
75% 141382.50000 38175.00000
max 8450550.00000 2212200.00000

Обратите внимание, что значения в выводе теперь отображаются без научных обозначений.

Обратите внимание, что в этом примере мы использовали 0:.5f для отображения 5 знаков после запятой в выводе.

Не стесняйтесь заменять 5 другим числом, чтобы отобразить другое количество десятичных знаков.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Панды: как посчитать совокупную сумму на группу
Панды: как посчитать уникальные значения по группам
Панды: как рассчитать корреляцию по группам

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *