#python #pandas
#python #pandas
Вопрос:
В моем коде я сталкиваюсь с проблемой: я всегда получаю результат, что объект ‘method’ не поддается подписке. Проблема заключается в следующих функциях в более или менее сложной программе:
def queryFruit(self,fruit):
return self.result[self.result['FRUIT_TERM'].isin([fruit])]
def queryRelevance(self, fruit):
onefruit = self.queryFruit(fruit)
originparameters = pd.crosstab(onefruit['PARAMETER_NAME'], onefruit['COUNTRY_TERM']) >= 10
validoriginparameters = originparameters.where(originparameters == True)
validoriginparameters.dropna(axis=1, how='all', inplace=True)
validoriginparameters.dropna(axis=0, how='all', inplace=True)
list1 = list(validoriginparameters.columns.values)
list2 = list(validoriginparameters.index.values)
return list1, list2
На данный момент я не вижу леса для деревьев… У кого-нибудь есть совет?
Несколько замечаний / кода относительно self.result:
def computeResult(self):
self.result = self.getAnalyticalData
log.debug('Query result successfully computed')
self.result отмечает pd.DataFrame, содержащий 15 столбцов (один из них: ‘FRUIT_TERM’).
Комментарии:
1. Есть
self.result
ли метод или атрибут в вашем классе? Если это метод, можете ли вы добавить код метода?2. Я добавлю это в начальный пост. Пожалуйста, дайте мне несколько минут.
Ответ №1:
Вам нужно добавить круглые скобки к методу self.getAnalyticalData
, иначе self.result
сам метод не является результатом метода :
def computeResult(self):
self.result = self.getAnalyticalData()
log.debug('Query result successfully computed')