python中pandas格式_python – 用于显示的pandas整数格式

你可以修补pandas.io.formats.format.IntArrayFormatter:

import contextlib

import numpy as np

import pandas as pd

import pandas.io.formats.format as pf

np.random.seed(2015)

@contextlib.contextmanager

def custom_formatting():

orig_float_format = pd.options.display.float_format

orig_int_format = pf.IntArrayFormatter

pd.options.display.float_format = '{:0,.2f}'.format

class IntArrayFormatter(pf.GenericArrayFormatter):

def _format_strings(self):

formatter = self.formatter or '{:,d}'.format

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

return fmt_values

pf.IntArrayFormatter = IntArrayFormatter

yield

pd.options.display.float_format = orig_float_format

pf.IntArrayFormatter = orig_int_format

df = pd.DataFrame(np.random.randint(10000, size=(5,3)), columns=list('ABC'))

df['D'] = np.random.random(df.shape[0])*10000

with custom_formatting():

print(df)

产量

A B C D

0 2,658 2,828 4,540 8,961.77

1 9,506 2,734 9,805 2,221.86

2 3,765 4,152 4,583 2,011.82

3 5,244 5,395 7,485 8,656.08

4 9,107 6,033 5,998 2,942.53

而在声明之外:

print(df)

产量

A B C D

0 2658 2828 4540 8961.765260

1 9506 2734 9805 2221.864779

2 3765 4152 4583 2011.823701

3 5244 5395 7485 8656.075610

4 9107 6033 5998 2942.530551

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值