18

因为我每次输入数据框的名称时都安装了更新版本的熊猫,例如

df[0:5]

要查看前几行,它会给我列的摘要、其中的值数量以及数据类型。

我如何才能看到表格视图?(我正在使用 iPython 顺便说一句)。

提前致谢!

4

4 回答 4

23

注意:要显示前几行,您还可以使用head.

但是,如果列数多于display.max_columns或长于display.width(行类似),pandas 将显示摘要视图,因此您需要增加这些以显示表格视图。您可以使用 set 选项更改这些,例如:

pd.options.display.max_columns = 50

请参阅此熊猫问题:“IPython 笔记本中宽数据帧的不直观默认行为”

或者,为您可以使用的前几列显示前几行:

df.head(5)[df.columns[0:4]]
# alternatively
df.iloc[:5, :4]
于 2013-06-06T09:48:08.117 回答
8

简短回答:如果您的版本高于 0.11.0,请尝试使用以下方式设置显示宽度:

pd.set_option('display.width', 200)

长答案:当然,线程已经 4 个月大了,但我昨晚遇到了同样的问题。在我的工作中运行良好的 ipython 笔记本不会在家里显示 html 表格。

首先,检查您的版本:

import pandas as pd
pd.__version__ 

我的回来了:'0.11.0'

接下来,检查您的设置:

pd.describe_option('display')

这将为您提供所有可能的显示选项和当前默认值的长列表。您可能不得不尝试更改默认值。使用较大的值以使其正常工作,然后根据需要缩减。

Display.width 是重要的一个。我把这些放在进口的顶部。

pd.set_option('display.height', 500)
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 200)
于 2013-10-07T16:17:21.407 回答
2

第一步: 我正在使用它在 Eclipse 的 pydev 中获取 GUI。确保您的 pydev 设置了 GUI。使用本教程:http ://popdevelop.com/2010/04/setting-up-ide-and-creating-a-cross-platform-qt-python-gui-application/这样做。

第二步: 从这里举例最快的方法是从 Pandas 数据框中填充 QTableView 并进行一些修改, 运行以下代码一次:

import pandas as pd
from PyQt5 import QtCore, QtGui ,QtWidgets
class PandasModel2(QtCore.QAbstractTableModel):
    """
    Class to populate a table view with a pandas dataframe
    """
    def __init__(self, data, parent=None):
        QtCore.QAbstractTableModel.__init__(self, parent)
        self._data = data

    def rowCount(self, parent=None):
        return self._data.shape[0]

    def columnCount(self, parent=None):
        return self._data.shape[1]

    def data(self, index, role=QtCore.Qt.DisplayRole):
        if index.isValid():
            if role == QtCore.Qt.DisplayRole:
                return str(self._data.iloc[index.row(), index.column()])
        return None

    def headerData(self, col, orientation, role):
        if orientation == QtCore.Qt.Horizontal and role == QtCore.Qt.DisplayRole:
            return self._data.columns[col]
        return None

view = QtWidgets.QTableView()

一旦完成。您只需键入以下命令即可拥有 GUI

view.setModel(PandasModel2("your dataframe name"))
view.show()
于 2017-06-05T18:15:05.253 回答
0

很有帮助,谢谢。我在Wakari托管的 Notebook 中浏览了这个ulmo + pandas 示例,我对为什么有些表格只是给出摘要而不是呈现为 HTML 感到困惑。Wakari 中的 display.width 选项似乎默认为 80,因此在决定打印摘要之前,表格不必非常宽。这是一个令人困惑的隐藏模式。以下修复了它:

pandas.set_option('display.width',500)

display.max_rows 和 display.max_columns 默认为 60 和 20,所以我保持原样。这是 Pandas 0.11.0 的版本。

于 2013-12-28T02:56:52.693 回答