Как вызвать вывод одного класса из функции другого класса в Python? - PullRequest
0 голосов
/ 04 августа 2020

Мне трудно вызвать вывод функции одного класса в другом классе. Ниже приведен пример блока кода:

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 в конец первого класса. Потому что мой фактический выходной фрейм данных очень большой, и я не хочу возвращать результат. Есть ли более элегантный способ сделать это?

Заранее благодарю за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...