<p><a href="https://pandas.pydata.org/pandas-docs/stable/style.html" rel="noreferrer">As of Pandas 0.17 there is now a styling system</a>它实际上使用<a href="https://docs.python.org/2/library/string.html#formatstrings" rel="noreferrer">Python format strings</a>提供数据帧的格式化视图:</p>
<pre><code>import pandas as pd
import numpy as np
constants = pd.DataFrame([('pi',np.pi),('e',np.e)],
columns=['name','value'])
C = constants.style.format({'name': '~~ {} ~~', 'value':'--> {:15.10f} <--'})
C
</code></pre>
<p>显示</p>
<p><a href="https://i.stack.imgur.com/LV1fK.png" rel="noreferrer"><img src="https://i.stack.imgur.com/LV1fK.png" alt="enter image description here"/></a></p>
<p>这是一个视图对象;数据帧本身不会更改格式,但数据帧中的更新会反映在视图中:</p>
<pre><code>constants.name = ['pie','eek']
C
</code></pre>
<p><a href="https://i.stack.imgur.com/cYNhe.png" rel="noreferrer"><img src="https://i.stack.imgur.com/cYNhe.png" alt="enter image description here"/></a></p>
<p>但是,它似乎有一些限制:</p>
<ul>
<li><p>在适当位置添加新行和/或列似乎会导致样式化视图中的不一致(不添加行/列标签):</p>
<pre><code>constants.loc[2] = dict(name='bogus', value=123.456)
constants['comment'] = ['fee','fie','fo']
constants
</code></pre></li>
</ul>
<p><a href="https://i.stack.imgur.com/xMhfh.png" rel="noreferrer"><img src="https://i.stack.imgur.com/xMhfh.png" alt="enter image description here"/></a></p>
<p>看起来不错,但是:</p>
<pre><code>C
</code></pre>
<p><a href="https://i.stack.imgur.com/UGNYy.png" rel="noreferrer"><img src="https://i.stack.imgur.com/UGNYy.png" alt="enter image description here"/></a></p>
<ul>
<li><p>格式化仅适用于值,而不适用于索引项:</p>
<pre><code>constants = pd.DataFrame([('pi',np.pi),('e',np.e)],
columns=['name','value'])
constants.set_index('name',inplace=True)
C = constants.style.format({'name': '~~ {} ~~', 'value':'--> {:15.10f} <--'})
C
</code></pre></li>
</ul>
<p><a href="https://i.stack.imgur.com/SDsMM.png" rel="noreferrer"><img src="https://i.stack.imgur.com/SDsMM.png" alt="enter image description here"/></a></p>