自从我安装了更新版本的Pandas后,每次我输入数据框的名称时,例如:
df[0:5]
要查看前几行,它会为我提供列的摘要、其中的值数量和数据类型。
那么,如何才能看到表格视图呢?(我正在使用iPython)。
提前感谢!
head
。
如果列数超过display.max_columns
或长度超过display.width
(行数同理),则 pandas 会显示摘要视图,因此您需要增加这些内容以显示表格视图。您可以使用 set_option 更改这些选项,例如:
pd.options.display.max_columns = 50
参见这个pandas问题:"IPython笔记本中宽DataFrame的非直观默认行为".
或者,展示前几列的前几行,可以使用:
df.head(5)[df.columns[0:4]]
# alternatively
df.iloc[:5, :4]
df[0:5]
的糖衣,问题在于 max_rows 或 display_width。 - Andy Hayden简短回答:如果你的版本高于0.11.0,请尝试使用以下命令设置显示宽度:
pd.set_option('display.width', 200)
import pandas as pd
pd.__version__
我的输出结果为:'0.11.0'
接下来,请使用以下命令检查您的设置:
pd.describe_option('display')
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)
第一步: 我正在使用这个方法在eclipse的pydev中获取GUI。确保你的pydev已经设置了GUI。可以使用这个教程:http://popdevelop.com/2010/04/setting-up-ide-and-creating-a-cross-platform-qt-python-gui-application/来完成。
第二步: 从这里Fastest way to populate QTableView from Pandas data frame获取示例并进行一些修改,运行下面的代码一次:
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()
view.setModel(PandasModel2("your dataframe name"))
view.show()
pandas.set_option('display.width',500)
display.max_rows和display.max_columns默认为60和20,所以我将它们保留不变。这是使用Pandas 0.11.0版本时的情况。