因为我每次输入数据帧的名称时都安装了更新版本的pandas,例如
df[0:5]
要查看前几行,它会为我提供列的摘要,其中的值的数量以及数据类型。
如何查看表格视图呢? (我正在使用iPython btw)。
提前致谢!
答案 0 :(得分:21)
注意:要显示前几行,您还可以使用head
。
但是,如果列数多于display.max_columns
,或者它们的长度超过display.width
(类似于行),pandas将显示摘要视图,因此您需要增加这些列以显示表格视图。您可以使用set选项更改这些,例如:
pd.options.display.max_columns = 50
请参阅此pandas问题:"Unintuitive default behavior with wide DataFrames in the IPython notebook"。
或者,显示您可以使用的前几列的前几行:
df.head(5)[df.columns[0:4]]
# alternatively
df.iloc[:5, :4]
答案 1 :(得分: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)
答案 2 :(得分:1)
第一步: 我正在使用它来获取eclipse的pydev中的GUI。确保你的pydev有GUI设置。使用本教程:http://popdevelop.com/2010/04/setting-up-ide-and-creating-a-cross-platform-qt-python-gui-application/来做到这一点。
第二步: 从这里举例[{3}} 并做一些修改, 运行以下代码一次:
def forum_new(request):
if request.method == 'POST':
form = your_form_here(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('/bar.html/')
else:
form = your_form_here()
return render(request, 'url.html', {'form': form})
一旦完成。您只需输入以下命令即可获得GUI
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()
答案 3 :(得分:0)
非常有帮助,谢谢。我在ulmo + pandas example托管的Notebook中经历了这个Wakari,并对为什么有些表只是提供摘要而不是呈现为HTML感到困惑。似乎Wakari中的display.width选项默认只有80,因此在决定打印摘要之前,表格不必非常宽。这是一个令人困惑的隐藏模式。以下修正了它:
pandas.set_option('display.width',500)
display.max_rows和display.max_columns默认为60和20,所以我将它们保留为原样。这是与Pandas 0.11.0。