函数如何调用同一类python中的其他函数
我想创建一个包含一些函数的类,其中一个函数调用类中的另一个函数,类似这样:函数如何调用同一类python中的其他函数,python,Python,我想创建一个包含一些函数的类,其中一个函数调用类中的另一个函数,类似这样: 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] retu
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())
我犯了这样的错误
name错误:未定义名称“sliceInput”
如何在函数中调用convertInput
和convertTarget
为什么会出现错误,我完全不明白。您需要在
covert
中添加sliceInput,sliceTarget=self.slicing()
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):
sliceInput, sliceTarget = self.slicing()
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())
只需将self
添加到定义的属性中即可。
此外,由于在实例化Prep
对象后,数据
是不可变的,因此如果只在\uuuu init\uuu()方法中初始化切片变量一次,性能会更好
将熊猫作为pd导入
备课:
定义初始化(自身,数据):
self.data=数据
self.sliceInput=data.iloc[:,1:8]
self.sliceTarget=data.iloc[:,8]
def切片(自):
返回self.sliceInput,self.sliceTarget
def转换(自):
convertInput=self.sliceInput.to_numpy(浮点)
convertTarget=self.sliceTarget.to_numpy(int)
返回convertInput,convertTarget
如果名称=“\uuuuu main\uuuuuuuu”:
data_frame=pd.read_csv('data_manual.csv',sep=';'))
tes=准备(数据帧)
打印(tes.convert())
可能是self.sliceInput=self.data.iloc[:,1:8]
和self.sliceTarget=self.data.iloc[:,8]
将实现这一目的