如何在python类中定义具有两个参数的方法?

如何在python类中定义具有两个参数的方法?,python,class,oop,methods,Python,Class,Oop,Methods,我有一段代码运行良好,现在出于某些原因(使一个包连接到jupyter),我需要将其重写为类和方法。我需要从文件中获取数据,然后从中提取两个列表,然后对它们执行一些操作,最后以某种方式求和。这是我已经编写的代码的方案: import numpy as np class Tv: def __init__(self): def set_data(self, df): self.data = df def split_df(self, df): s

我有一段代码运行良好,现在出于某些原因(使一个包连接到jupyter),我需要将其重写为类和方法。我需要从文件中获取数据,然后从中提取两个列表,然后对它们执行一些操作,最后以某种方式求和。这是我已经编写的代码的方案:

import numpy as np
class Tv:
    def __init__(self):
    def set_data(self, df):
        self.data = df
    def split_df(self, df):
        self.data1 = df[(df.prop == '1')].reset_index()
        self.data2 = df[(df.prop == '2')].reset_index()
        event = ['2004-05-16', '2004-05-27']
        list1, list2 = list()
        for i in range(0, len(event)):
            temp = self.data1[self.data1.event == event[i]].reset_index()
            temp2 = self.data2[self.data2.event == event[i]].reset_index()
            list1.append(temp)
            list2.append(temp2)
        self.list1 = list1
        self.list2 = list2
        return (self.list1, self.list2)
    def sum_lists(self, list1, list2):
        summed_list = np.sum(list1, list2)
        return summed_list
如您所见,我需要从给定的数据帧(df)中提取list1和list2,然后在对它们进行一些修改后(为了简短起见,我删除了这些修改),将它们相加并返回总和。现在的问题是,我不知道如何正确定义summated_list方法。我是OOP新手,对我来说一切都有点混乱

这是我得到的错误:

'Tv' object has no attribute 'sum_lists'

由于您的
init
方法,您将得到一个缩进错误。请更正。此处显示的代码没有有效的缩进;我怀疑您的实际代码中也存在缩进问题。您必须提供一个。目前,这段代码甚至不会编译,这在Python中是一个相当低的标准。下面是一些关于如何在堆栈溢出问题中设置代码格式的提示。如果
list1
list2
是属性,则无需将它们作为参数传递。您可以使用
np.sum(self.list1,self.list2)
list1,list2=list()
获取一个错误。由于您的
init
方法,您将获得一个缩进错误。请更正。此处显示的代码没有有效的缩进;我怀疑您的实际代码中也存在缩进问题。您必须提供一个。目前,这段代码甚至不会编译,这在Python中是一个相当低的标准。下面是一些关于如何在堆栈溢出问题中设置代码格式的提示。如果
list1
list2
是属性,则无需将它们作为参数传递。您可以使用
np.sum(self.list1,self.list2)
list1,list2=list()
获取错误。