我想使用print()
和IPythondisplay()
显示具有给定格式的pandas数据帧。例如:
df = pd.DataFrame([123.4567, 234.5678, 345.6789, 456.7890],
index=['foo','bar','baz','quux'],
columns=['cost'])
print df
cost
foo 123.4567
bar 234.5678
baz 345.6789
quux 456.7890
我想以某种方式强迫它打印出来
cost
foo $123.46
bar $234.57
baz $345.68
quux $456.79
无需修改数据本身或创建副本,只需更改其显示方式即可。
我该怎么做?
如果不想修改数据框,可以为该列使用自定义格式化程序。
收益率
As of Pandas 0.17 there is now a styling system它实际上使用Python format strings提供数据帧的格式化视图:
显示
这是一个视图对象;数据帧本身不会更改格式,但数据帧中的更新会反映在视图中:
但是,它似乎有一些限制:
在适当位置添加新行和/或列似乎会导致样式化视图中的不一致(不添加行/列标签):
看起来不错,但是:
格式化仅适用于值,而不适用于索引项:
收益率
但这只在您希望每个float都用美元符号格式化时才有效。
否则,如果您只想对某些浮动设置美元格式,那么我认为您必须预先修改数据帧(将这些浮动转换为字符串):
收益率
相关问题 更多 >
编程相关推荐