我想创建一个包含一些函数的类,其中一个函数在类中调用另一个函数,类似于:
import pandas as pd
class Prep:
def __init__(self, data):
self.data = data
def slicing(self):
sliceInput = self.data.iloc[:, 1:8]
sliceTarget = self.data.iloc[:, 8]
return sliceInput, sliceTarget
def convert(self):
convertInput = sliceInput.to_numpy(float)
convertTarget = sliceTarget.to_numpy(int)
return convertInput, convertTarget
if __name__ == "__main__":
data_frame = pd.read_csv('data_manual.csv', sep=';')
tes = Prep(data_frame)
print(tes.convert())
我犯了这样的错误
NameError: name 'sliceInput' is not defined
如何在函数中调用convertInput
和convertTarget
为什么我会出错,我一点也不明白。你知道吗
您需要在
covert
中添加sliceInput, sliceTarget = self.slicing()
只需将
self
添加到定义的属性中。 另外,由于在实例化Prep
对象之后data
是不可变的,因此如果只在__init__()
方法中初始化一次slice变量,性能会更好。你知道吗相关问题 更多 >
编程相关推荐