Мне трудно вызвать вывод функции одного класса в другом классе. Ниже приведен пример блока кода:
import pandas as pd
# First Class
class ppl():
def create_ppl(self):
ppll_info = pd.DataFrame({
'Name':['Bob','Amy'],
'Age':[12,19],
'Gender':['male','female']
})
instructor_info = pd.DataFrame({
'Name_Inst':['Tobby','John'],
'Age':[41,37],
'Gender':['male','male']
})
pl = ppl()
pl.create_ppl()
# second Class
class robot():
def create_rbt(self):
rbt_info = pd.DataFrame({
'Name':['Robot_1','Robt_2'],
'Manufacture':['ABC','XYZ'],
'Owner':['Bob','Amy']
})
full_table = pd.merge(
rbt_info,
pl.create_ppl(),
left_on='Owner',
right_on='Name', how='left'
)
return full_table
rbt = robot()
rbt.create_rbt()
Я получил ошибку TypeError: Can only merge Series or DataFrame objects, a <class 'NoneType'> was passed
Он будет работать, если я добавлю return ppll_info
в конец первого класса. Потому что мой фактический выходной фрейм данных очень большой, и я не хочу возвращать результат. Есть ли более элегантный способ сделать это?
Заранее благодарю за помощь