Pandas 格式:在Pandas聚合结果中压制科学计数法

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的浮点数格式。这些方法可以灵活选择,根据需求选择最合适的方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程