python – 用于显示的pandas整数格式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 用于显示的pandas整数格式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1679字,纯文字阅读大概需要3分钟。
内容图文
![python – 用于显示的pandas整数格式](/upload/InfoBanner/zyjiaocheng/707/86044d08727644e2ac6e84eab3c4490e.jpg)
我已经看到this和this格式化浮点数以便在pandas中显示,但我有兴趣为整数做同样的事情.
现在,我有
pd.options.display.float_format = '{:,.2f}'.format
这对我的数据中的浮点数很有用,但是要么会在转换为浮点数的整数上留下恼人的尾随零,要么我将使用不用逗号格式化的普通整数.
大熊猫文档提到了一个关于我无法找到任何信息的SeriesFormatter类.
或者,如果有一种方法可以编写一个单独的字符串格式化程序,它将浮点格式化为“{:,.2f}”并浮点数为零后跟十进制为“{:,d}”,那也可以.
解决方法:
你可以修补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
内容总结
以上是互联网集市为您收集整理的python – 用于显示的pandas整数格式全部内容,希望文章能够帮你解决python – 用于显示的pandas整数格式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。