pandas取消科学计数
在使用 pandas 进行数据处理时,我们经常会遇到科学计数法(如 1.23e+05)的显示,虽然科学计数法在某些情况下很方便,但在其他情况下可能会影响数据的可读性。因此,有时候我们需要取消科学计数法的显示,而是显示完整的数字。
本文将介绍如何在 pandas 中取消科学计数法的显示,以便更好地展示数据。
取消科学计数法
我们首先创建一个简单的 DataFrame,用于演示如何取消科学计数法的显示:
import pandas as pd
data = {'A': [123456789.123456789],
'B': [987654321.987654321]}
df = pd.DataFrame(data)
print(df)
运行上面的代码,输出如下:
A B
0 123456789.123456789 987654321.987654321
可以看到,数据中的数字以科学计数法的形式显示,为了取消科学计数法的显示,我们可以通过设置 pandas 的显示选项来实现。
# 取消科学计数法显示
pd.options.display.float_format = '{:.2f}'.format
print(df)
重新运行代码,输出如下:
A B
0 123456789.12 987654321.99
通过设置 pd.options.display.float_format
的格式为 '{:.2f}'.format
,我们成功取消了科学计数法的显示,将所有数字都显示为两位小数的形式。
恢复科学计数法
如果需要恢复科学计数法的显示,可以将 pd.options.display.float_format
的格式重新设置为 None
:
# 恢复科学计数法显示
pd.options.display.float_format = None
print(df)
重新运行代码,数据将以科学计数法的形式显示。
指定列取消科学计数法
有时候,我们只想取消某一列的科学计数法显示,而保留其他列的显示格式。这时我们可以使用 apply
函数结合 lambda
表达式来指定列取消科学计数法的显示格式。例如,取消列 ‘A’ 的科学计数法显示:
df['A'] = df['A'].apply(lambda x: '{:.2f}'.format(x))
print(df)
重新运行代码,A
列的数据将以两位小数的形式显示,而 B
列保持科学计数法的显示。
总结
本文介绍了如何在 pandas 中取消科学计数法的显示,包括取消全局显示格式和指定列取消显示格式。取消科学计数法可以更好地展示数据,提高数据的可读性。在实际数据处理中,根据需求选择合适的显示格式是很重要的。