以印度逗号样式输出的 Pandas 数据框
Posted
技术标签:
【中文标题】以印度逗号样式输出的 Pandas 数据框【英文标题】:Pandas dataframe output in Indian comma style 【发布时间】:2019-02-03 00:33:06 【问题描述】:我已按照 https://codereview.stackexchange.com/questions/148853/convert-an-amount-to-indian-notation 中给出的提示进行操作
能够以印度逗号格式显示一个数字,其中123456789
将使用以下命令显示为1,23,34,56,789
:
print("INR ".format(currency_in_indian_format(123456789))).
但是,我无法将此功能扩展为在 pandas 数据框中显示所有值。有什么办法可以通过修改命令来完成:
pd.options.display.float_format = ':,.3f'.format
【问题讨论】:
【参考方案1】:如果是印度卢比,请使用:
from babel.numbers import format_currency
print(format_currency(123456789, 'INR', locale='en_IN').replace(u'\xa0', u' '))
输出:
₹ 12,34,56,789.00
注意 - 您的预期输出中数字 3 重复了两次,因此与我的不匹配。
【讨论】:
非常感谢 Anky_91。我了解如何对单个变量进行转换,但是可以对整个数据框或数据框的各个列进行此转换。例如 print(format_currency(df), 'INR', locale='en_IN')。替换(u'\xa0', u' ')) ? 是的。您可以为此使用 apply 功能 我尝试使用 apply 方法,但它不起作用,所以我创建了一个函数,它会为指定的列逐个元素地执行它并重新创建数据框。以上是关于以印度逗号样式输出的 Pandas 数据框的主要内容,如果未能解决你的问题,请参考以下文章