“方法”对象的问题在 pandas 中不可下标 - 函数未运行

在我的代码中,我面临一个挑战:我总是得到“方法”对象不可下标的结果。问题在于或多或少复杂的程序中的以下函数:


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”)。


米脂
浏览 97回答 1
1回答

汪汪一只猫

您需要在方法中添加括号,self.getAnalyticalData否则self.result方法本身不是方法的结果:def computeResult(self):         self.result = self.getAnalyticalData()         log.debug('Query result successfully computed')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python