Pandas 格式:在Pandas聚合结果中压制科学计数法
在本文中,我们将介绍如何在Pandas聚合结果中更改数字格式,从而避免使用科学计数法。Pandas是Python数据分析的强大工具包,而聚合是一种简单且有效的数据处理方式。但是,Pandas默认将聚合结果的数字显示为科学计数法,这可能不是您想要的。幸运的是,Pandas提供了几种方法来更改这种表现方式。以下是一些常见的方法。
阅读更多:Pandas 教程
使用.round()
.round()函数可以将小数位数保留到指定数量。可以使用此函数来更改聚合结果的格式。在下面的示例中,我们使用了一个数据集,其中包含员工的销售数据。我们将通过聚合来查找每个员工的平均销售额,并使用.round()来更改小数位数的数量。
import pandas as pd
# 创建数据集
sales = pd.DataFrame({'name':['Alice','Bob','Charlie','David','Edward'],
'sales':[125000, 250000, 198000, 325000, 146000]})
# 聚合
avg_sales = sales.groupby(['name']).mean()
# 更改格式
avg_sales['sales'] = avg_sales['sales'].round(2)
print(avg_sales)
输出结果:
sales
name
Alice 125000.00
Bob 250000.00
Charlie 198000.00
David 325000.00
Edward 146000.00
现在,我们已成功将聚合结果的格式更改为两位小数。
使用.astype()
.astype()函数可以将数据类型更改为指定类型。在下面的示例中,我们使用.astype()函数将数字类型更改为字符串类型。这将更改显示方式,使其避免科学计数法。
import pandas as pd
# 创建数据集
sales = pd.DataFrame({'name':['Alice','Bob','Charlie','David','Edward'],
'sales':[125000, 250000, 198000, 325000, 146000]})
# 聚合
avg_sales = sales.groupby(['name']).mean()
# 更改格式
avg_sales['sales'] = avg_sales['sales'].astype('str')
print(avg_sales)
输出结果:
sales
name
Alice 125000.0
Bob 250000.0
Charlie 198000.0
David 325000.0
Edward 146000.0
现在,我们已成功将聚合结果的显示方式更改为字符串类型。
使用pd.options.display.float_format
pd.options.display.float_format可以全局更改Pandas的浮点数格式。在下面的示例中,我们使用了一个数据集,其中包含员工的销售数据。我们将通过聚合来查找每个员工的平均销售额,并通过pd.options.display.float_format来更改数字格式。
import pandas as pd
# 创建数据集
sales = pd.DataFrame({'name':['Alice','Bob','Charlie','David','Edward'],
'sales':[125000, 250000, 198000, 325000, 146000]})
# 聚合
avg_sales = sales.groupby(['name']).mean()
# 全局更改格式
pd.options.display.float_format = '{:,.2f}'.format
print(avg_sales)
输出结果:
sales
name
Alice 125,000.00
Bob 250,000.00
Charlie 198,000.00
David 325,000.00
Edward 146,000.00
现在,我们已成功全局更改Pandas的浮点数格式。所有Pandas的浮点数都将按照指定的方式进行显示。
总结
不论是在数据科学或工程中,格式不仅仅是为了美观,还至关重要。当你在使用 Pandas 聚合数据时,使用科学计数法输出结果会使得数据阅读体验受到很多干扰。幸运的是,Pandas提供了几种方法来更改聚合结果的数字格式,从而避免使用科学计数法。我们可以使用.round()函数将小数位数保留到指定数量,使用.astype()函数将数据类型更改为字符串类型,或者使用pd.options.display.float_format全局更改Pandas的浮点数格式。这些方法可以灵活选择,根据需求选择最合适的方法。
极客教程