Pandas:如何使用describe()并删除科学记数法
您可以使用describe()函数为pandas DataFrame中的变量生成描述性统计数据。
要从describe()函数的输出中删除科学记数法,可以使用以下方法:
方法 1:在对列使用describe() 时删除科学记数法
df[' my_column ']. describe (). apply ( lambda x: format (x, ' f '))
方法 2:在对多列使用describe() 时删除科学记数法
df. describe (). apply ( lambda x: x.apply (' {0:.5f} '. format ))
以下示例展示了如何在实践中使用以下 pandas DataFrame 的每种方法:
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:在对列使用describe() 时删除科学记数法
如果我们使用describe()函数计算sales列的描述性统计,输出值将以科学计数法显示:
#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:在对多列使用describe() 时删除科学记数法
如果我们使用describe()函数计算每个数值列的描述性统计量,输出值将以科学计数法显示:
#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 中执行其他常见操作: