def preferences_for_item(self, item_id, order_by_id=True):
        item_id_loc = np.where(self._item_ids == item_id)
        if not item_id_loc[0].size:
            #item_id not found
            raise ItemNotFoundError('Item not found')
        preferences = self.index[:, item_id_loc]

        #think in a way to return as numpy array and how to remove the nan values efficiently.
        data = zip(self._user_ids, preferences.flatten())
        if order_by_id:
            return [(user_id, preference)  for user_id, preference in data \
                         if not np.isnan(preference)]
        else:
            return sorted([(user_id, preference)  for user_id, preference in data \
                         if not np.isnan(preference)], key=lambda user: - user[1])
Return a Unicode SHOW TABLES from a given schema.
dataset/ETHPy150Open muricoca/crab/scikits/crab/models/classes.py/MatrixPreferenceDataModel.preferences_for_item--crossover with--dataset/ETHPy150Open RoseOu/flasky/venv/lib/python2.7/site-packages/sqlalchemy/dialects/drizzle/base.py/DrizzleDialect.get_table_names