我正在写一个包含熊猫功能的类。作为输入,我有一个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引起的,因此无法应用解决方案。

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

最佳答案

您的问题是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

关于python - 未正确识别 Pandas 数据框:“元组”的实例没有“过滤器”成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56091234/

10-13 07:46
查看更多