在同一类的其他方法中使用类方法输出

问题描述 投票:0回答:1

目标是在方法

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()
python class oop methods
1个回答
0
投票

为此,请使用

@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)
© www.soinside.com 2019 - 2024. All rights reserved.