Изменения типа после обработки через функцию наследования - PullRequest
0 голосов
/ 18 апреля 2019

Обработка объекта типа = DataFrame в определенной функции маскирования возвращает в список типов =.

Я пытаюсь использовать наследование для быстрого доступа и упрощения жизни, поскольку в ней много похожего кода.Но он возвращается в списке, а не в DataFrame.У меня есть много похожих кода, таких как:

df4=df3.drop_duplicates(['TITLE'])
#from df3 find title duplicated items
index2=df3.duplicated(['TITLE'])
#duplicated titles items are dropped into df5
df5=df3[index2].reset_index(drop=True)
#items with same title but different database are dropped
df6=df5.drop_duplicates(['TITLE'])
#from df5 find title duplicated items
index3=df5.duplicated(['TITLE'])
#duplicated titles items from df5 are dropped into df6
df7=df5[index3].reset_index(drop=True)

Класс наследования, в котором определена функция:

class Mask_TITLE:
    def __init__(self,masked):
        self.masked=masked
    def mask(masked):
        return [masked.drop_duplicates(['TITLE'])]

Делая:

>>df1=Mask_TITLE.mask(df)

df1 возвращаетсяв виде списка.

Как убедиться, что df1 все еще является фреймом данных, изменив функцию, или это просто наследование, и функцию нельзя использовать в условиях DataFrame?

1 Ответ

0 голосов
/ 18 апреля 2019

Вы превращаете его в список здесь:

def mask(masked):
        return [masked.drop_duplicates(['TITLE'])]

[ & ] вокруг возвращаемого значения делает его списком из одного элемента

Попробуйте это:

def mask(masked):
        return masked.drop_duplicates(['TITLE'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...