15
对于Python新手,我最近发现,与PY 2.7我可以这样做:PY熊猫.format(数据帧)
print '{:20,.2f}'.format(123456789)
,这将给生成的输出:
123,456,789.00
我现在正有类似的结果对大熊猫DF所以我的代码是这样的:
import pandas as pd
import random
data = [[random.random()*10000 for i in range(1,4)] for j in range (1,8)]
df = pd.DataFrame (data)
print '{:20,.2f}'.format(df)
在这种情况下,我有错误:
Unknown format code 'f' for object of type 'str'
任何关于执行如'{:20,.2f}'.format(df)
之类的建议的建议?现在我的想法是索引数据框(它是一个小的),然后格式化每个单独的浮点数,可能会分配astype(str),并重建DF ...但看起来很丑陋: - (并且我甚至不确定它会工作...
你觉得怎么样?我卡住了...并且想要在这些转换为reportlabs网格时为我的数据框提供更好的格式。
非常感谢你为这个!看起来很完美:-)的数据帧。这是一个很大的进步..现在我面临的是关于reportlab的下一个主题..哈哈..有趣..当DF转换为网格,然后我显然将失去格式.. uffff ....但我会以某种方式处理..很好的帮助!非常感谢 !! –
也可以这样做:'pd.options.display.float_format ='{:20,.2f}'。format'或'pd.set_option('float_format','{:20,.2f}'。format)' :) http://pandas.pydata.org/pandas-docs/stable/basics.html#working-with-package-options –
@AndyHayden:感谢您的提示! – unutbu