Панды: как использовать описать() и удалить научную нотацию
Вы можете использовать функцию 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:
Панды: как посчитать совокупную сумму на группу
Панды: как посчитать уникальные значения по группам
Панды: как рассчитать корреляцию по группам