目标是在方法
readData
中使用方法 MissingData
的输出数据帧。我的问题是如何将这些方法连接在一起,以便它们的输出可以在不同的方法中使用?
import pandas as pd
class DATAA():
def __init__(self,dataset,name,path=None):
self.dataset = dataset
self.name= name
self.path= path
def readData(self):
outputdf = pd.read_csv(self.dataset, sep = ',')
return outputdf
def MissingData (outputdf):
Missing_values = outputdf.isna.sum()
return Missing_values
df = DATAA(dataset,name)
df.readData()
df.MissingData()
为此,请使用
@classmethod
装饰器创建一个类方法,创建一个 class variable
来存储该函数的输出,然后使用 class variable
关键字引用该 self
。在下面的代码中,您可以引用MissingData()
中的类变量。这是在同一类的其他方法中使用类方法输出的唯一方法。
这是代码:
import pandas as pd
class DATAA():
outputdf = None
def __init__(self,dataset,name,path=None):
self.dataset = dataset
self.name= name
self.path= path
@classmethod
def readData(cls, dataset):
cls.outputdf = pd.read_csv(dataset, sep = ',')
def MissingData(self):
Missing_values = self.outputdf.isna.sum()
return Missing_values
df = DATAA(dataset, name)
df.readData(df.dataset)
missing_data = df.MissingData()
print(missing_data)