Почему моя функция python для изменения типа данных объекта серии не работает? - PullRequest
0 голосов
/ 14 января 2019

Функция принимает фрейм данных. Довольно просто, я ожидаю, что приведенный ниже код изменит тип данных столбца с плавающей точкой на int (работает) и «категория», если уникальные значения составляют менее 2% от размера объекта Series (не работает)

У меня есть фрейм данных df со столбцом «Позиция», который имеет только 4 уникальных значения, поэтому этот столбец должен иметь тип данных «категория», но это «Объект».

Так что я делаю memoryHandler (df), но после того, как столбец все еще имеет «объект» в качестве типа данных, почему?

def memoryHandler(frame):
    for column in frame:
        if frame[column].dtype == float:
            frame[column] = frame[column].astype("int")        
        if frame[column].nunique() < 0.02*frame[column].size:
            frame[column] = frame[column].astype("category")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...