python千位分隔符_在pandas数据框架中格式化整数的千位分隔符

pandas(从0.20.1开始)不允许以简单的方式重写默认整数格式。它在^{}(函数labmda)中硬编码:class IntArrayFormatter(GenericArrayFormatter):

def _format_strings(self):

formatter = self.formatter or (lambda x: '% d' % x)

fmt_values = [formatter(x) for x in self.values]

return fmt_values

我假设您真正需要的是如何重写所有整数的格式:replace(“monkey patch”)theIntArrayFormatter以打印由逗号分隔的数千个整数值,如下所示:import pandas

class _IntArrayFormatter(pandas.io.formats.format.GenericArrayFormatter):

def _format_strings(self):

formatter = self.formatter or (lambda x: ' {:,}'.format(x))

fmt_values = [formatter(x) for x in self.values]

return fmt_values

pandas.io.formats.format.IntArrayFormatter = _IntArrayFormatter

注意:在0.20.0之前,形成剂在pandas.formats.format。

在0.18.1之前,格式化程序位于pandas.core.format。

侧边

对于漂浮物,您不需要跳过这些环,因为它有一个configuration option:display.float_format: The callable should accept a floating point number and return a string with the desired format of the number. This is used in some places like SeriesFormatter. See core.format.EngFormatter for an example.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值