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