首页  >  文章  >  后端开发  >  如何使用列的自定义字符串格式化 Pandas DataFrame 的浮点数?

如何使用列的自定义字符串格式化 Pandas DataFrame 的浮点数?

Susan Sarandon
Susan Sarandon原创
2024-11-17 04:36:03587浏览

How to Format Pandas DataFrame of Floats with a Custom String for Columns?

如何使用列格式字符串显示浮点数的 Pandas DataFrame?

简介

Pandas 提供了一种显示表格数据的便捷方法。但是,有时您可能需要自定义显示格式以增强可读性或满足特定的演示要求。本文介绍了使用 print() 和 IPython display() 以所需格式格式化包含浮点数的列的方法,而不更改原始数据。

使用 pd.options.display.float_format

要将所需的格式统一应用于 DataFrame 中的所有浮点列,请使用 pd.options.display.float_format 选项。例如,要将数值显示为带有美元符号和两位小数的货币格式字符串,您可以使用以下代码:

import pandas as pd

pd.options.display.float_format = '${:,.2f}'.format
df = pd.DataFrame([123.4567, 234.5678, 345.6789, 456.7890],
                  index=['foo','bar','baz','quux'],
                  columns=['cost'])

print(df)

此代码将生成以下输出:

        cost
foo  3.46
bar  4.57
baz  5.68
quux 6.79

选定列的自定义格式

如果您需要不同列的不同格式或想要保留特定的数据类型,您可以修改 DataFrame 本身。以下代码将指定的列替换为其自定义格式的字符串表示形式:

import pandas as pd

df = pd.DataFrame([123.4567, 234.5678, 345.6789, 456.7890],
                  index=['foo','bar','baz','quux'],
                  columns=['cost'])

df['foo'] = df['cost']
df['cost'] = df['cost'].map('${:,.2f}'.format)

print(df)

生成的输出将是一个 DataFrame,其中“foo”列格式化为货币,“cost”列保留为数字数据类型:

         cost       foo
foo   3.46  123.4567
bar   4.57  234.5678
baz   5.68  345.6789
quux  6.79  456.7890

以上是如何使用列的自定义字符串格式化 Pandas DataFrame 的浮点数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn