code: def removeDataFrameColumns(self, columns):
          
          if not self.editable:
              return False
  
          if columns:
              deleted = 0
              errored = False
              for (position, name) in columns:
                  position = position - deleted
                  if position < 0:
                      position = 0
                  self.beginRemoveColumns(QtCore.QModelIndex(), position, position)
                  try:
                      self._dataFrame.drop(name, axis=1, inplace=True)
                  except ValueError as e:
                      errored = True
                      continue
                  self.endRemoveColumns()
                  deleted += 1
              self.dataChanged.emit()
  
              if errored:
                  return False
              else:
                  return True
          return False
docs: Removes columns from the dataframe.
          :param columns: [(int, str)]
          :return: (bool)
              True on success, False on failure.