禁用DataFrame尺寸打印

时间:2014-01-22 21:05:55

标签: python pandas

Pandas在DataFrame之后的最后一行打印DataFrame维度:

import pandas as pd
print pd.__version__
print pd.DataFrame({'a':[1,2],'b':[3,4]})

输出:

0.13.0
   a  b
0  1  3
1  2  4

[2 rows x 2 columns]      <- dimensions

如何禁用DataFrame维度的打印?我搜索了一个set_option但找不到任何相关的。

1 个答案:

答案 0 :(得分:3)

目前,我认为你不能,至少不是没有monkeypatching DataFrame。神奇的事情发生在DataFrame.__unicode__

def __unicode__(self):
    """
    Return a string representation for a particular DataFrame

    Invoked by unicode(df) in py2 only. Yields a Unicode String in both
    py2/py3.
    """
    buf = StringIO(u(""))
    if self._info_repr():
        self.info(buf=buf)
        return buf.getvalue()

    max_rows = get_option("display.max_rows")
    max_cols = get_option("display.max_columns")
    if get_option("display.expand_frame_repr"):
        width, _ = fmt.get_console_size()
    else:
        width = None
    self.to_string(buf=buf, max_rows=max_rows, max_cols=max_cols,
                   line_width=width, show_dimensions=True)

    return buf.getvalue()

你看到它传递show_dimensions=True而没有检查任何选项。您可以自己致电to_string,默认为show_dimensions=False

>>> df
   a  b
0  1  3
1  2  4

[2 rows x 2 columns]
>>> print df.to_string()
   a  b
0  1  3
1  2  4
>>> 

ISTM没有理由没有display.show_dimensions选项。