未正确识别熊猫数据框:“元组”的实例没有“过滤器”成员

时间:2019-05-11 14:29:46

标签: python pandas

我正在写一个包含熊猫功能的类。作为输入,我有一个pandas数据框,但是python似乎无法正确识别它。

import pandas as pd

class box:
    def __init__(self, dataFrame, pers, limit):
        self.df = dataFrame,
        self.pers = pers,
        self.data = limit

    def cleanDataset(self):
        persDf = self.df.filter(regex=('^' + self.pers + r'[1-9]$'))
        persDF.replace({'-': None})

self.df.filter(...)给我警告:Instance of 'tuple' has no 'filter' member。我找到了this,但是由于问题不是由Django引起的,因此无法应用解决方案。

有人可以在这里帮助我吗?

1 个答案:

答案 0 :(得分:1)

您的问题是self.df = dataFrame,(和self.pers = pers,)末尾的逗号。此处不需要逗号。

逗号使类认为您正在将self.df定义为具有一个成员的元组。要对此进行检查,请创建一个框对象b,然后尝试print type(box.df)。我猜这将返回<type 'tuple'>

在属性定义后删除逗号:

class box:
    def __init__(self, dataFrame, pers, limit):
        self.df = dataFrame
        self.pers = pers
        self.data = limit