作为Python新手我最近发现使用Py 2.7我可以做类似的事情:
print '{:20,.2f}'.format(123456789)
Run Code Online (Sandbox Code Playgroud)
这将产生最终的输出:
123,456,789.00
Run Code Online (Sandbox Code Playgroud)
我现在想要为pandas 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)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我有错误:
Unknown format code 'f' for object of type 'str'
Run Code Online (Sandbox Code Playgroud)
有什么建议'{:20,.2f}'.format(df)吗?
现在我的想法是索引数据框(它是一个小的),然后格式化其中的每个浮动,可能分配astype(str),并重建DF ......但看起来很丑陋:-(和我'我甚至不确定它会起作用..
你怎么看 ?我被卡住了...并希望在将这些数据帧转换为reportlabs网格时为我的数据帧提供更好的格式.