QTableWidget
PyQtからを使用してを表示しDataFrame
ます。を作成してQTableWidgetObject
から、createdwithvaluesを入力しQTableWidgetItems
ますDataFrame
。以下は、CSVファイルを読み取り、作成してDataFrame
、GUIに表示するコードスニペットです。
df = read_csv(filename, index_col = 0,header = 0)
self.datatable = QtGui.QTableWidget(parent=self)
self.datatable.setColumnCount(len(df.columns))
self.datatable.setRowCount(len(df.index))
for i in range(len(df.index)):
for j in range(len(df.columns)):
self.datatable.setItem(i,j,QtGui.QTableWidgetItem(str(df.iget_value(i, j))))
アップデート:
この答えはかなり古いので、更新する価値があります。GUIでデータフレームを表示するために現在利用可能な多くのオプションがあります。
- 他の人が指摘しているように、SpyderなどのPythonIDEにはデータフレームビューアが付属しています。
- qgridは、ノートブック内のデータフレームをレンダリングするjupyterノートブックウィジェットのもう1つのオプションです。
それでも誰かがJupyter内のデータフレームを表示するための単純なGUIをコーディングしたい場合は、Pyqt5を使用した完全で最小限の例を次に示します。
%gui qt5
from PyQt5.QtWidgets import QWidget,QScrollArea, QTableWidget, QVBoxLayout,QTableWidgetItem
import pandas as pd
win = QWidget()
scroll = QScrollArea()
layout = QVBoxLayout()
table = QTableWidget()
scroll.setWidget(table)
layout.addWidget(table)
win.setLayout(layout)
df = pd.DataFrame({"a" : [4 ,5, 6],"b" : [7, 8, 9],"c" : [10, 11, 12]},index = [1, 2, 3])
table.setColumnCount(len(df.columns))
table.setRowCount(len(df.index))
for i in range(len(df.index)):
for j in range(len(df.columns)):
table.setItem(i,j,QTableWidgetItem(str(df.iloc[i, j])))
win.show()
