Source code for gui.util.PandasModel

from PyQt5 import QtCore


[docs] class PandasModel(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
[docs] def rowCount(self, parent=None): return self._data.shape[0]
[docs] def columnCount(self, parent=None): return self._data.shape[1]
[docs] 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
[docs] def headerData(self, col, orientation, role): if orientation == QtCore.Qt.Horizontal and role == QtCore.Qt.DisplayRole: return self._data.columns[col] if orientation == QtCore.Qt.Vertical and role == QtCore.Qt.DisplayRole: return self._data.index[col] return None