如何在python中将对象传递给函数

2024-05-16 21:40:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我用python创建了一个类,如下所示:

class dataframe():
    #    
    # Initializer / Instance Attributes
    def __init__(self, fcsv, colp, label,DataFrame):

        label = r'\textbf{' + label +'}'

        self.fcsv  = fcsv  
        self.colp  = colp
        self.label = label
        self.dfr   = pd.DataFrame()

正如您所注意到的,每个对象都是具有某些特征的数据帧

因此,在主代码中,我将以下对象列表包装为:

DFC =[]
DFC.append(dataframe('econ_real' ,'r','real price'       ,pd.DataFrame))
DFC.append(dataframe('autoarimax','b','autoarimax model' ,pd.DataFrame))
DFC.append(dataframe('benchmark' ,'g','benchmark model'  ,pd.DataFrame))

我想把它们中的一些作为参数传递给函数

我试过类似taht的东西:

sp='2017-03-01 00:00:00'
ep='2017-05-01 00:00:00'
plot_hh(DFC[:].dfr[sp:ep,'A'])

基本上,我希望传递数据帧加上它们的特征以及它们的一些行和列,我希望打印的那些

不幸的是,这似乎不起作用。事实上,plot子程序给了我一个无效的语法错误,其中plot子程序是:

def plot_hh(DFC[:].dfr):

  print('hello')

这是我填充数据帧的方式:

for idf in range(0,3):
  DFC[idf].dfr = pd.read_csv(fname, sep=';',index_col=0, header = 0)

我曾尝试研究函数和参数,但我无法解决这个问题

谢谢你的帮助。 致意


Tags: 数据对象selfdataframeplotdef特征label