модуль «панды» не имеет атрибута «fillna»

#python #pandas #dataset #fillna

Вопрос:

 import numpy as np 
import pandas as pd

class DataProcessing:

    def __init__(self, df=None, file=None, duplicates=None, uninformative=None, mhealth_dataset=None):
        self.df = df
        self.file = file
        self.duplicates = duplicates
        self.uninformative = uninformative
        self.mhealth_dataset = mhealth_dataset

    def data(self):
        arrays = [np.loadtxt(self.file, dtype=str, delimiter="/t")]
        matrices = np.concatenate(arrays)
        self.df = np.array(list(matrices)).reshape(len(arrays), 2)
        return self.df

    def data_cleaning(self):
        # Drop and impute missing values
        df = pd.fillna(statistics.mean(self.df), inplace=True)
        return df

dp = DataProcessing()
dc = dp.data_cleaning()
 

Ошибка отслеживания:

Обратная трассировка (самый недавний призыв последнего): файл «C:UsersUserPycharmProjectsalgorithmsproject_kmeans.py», строка 46, в ДК = ДП.data_cleaning() файл «C:UsersUserPycharmProjectsalgorithmsproject_kmeans.py», строка 26, В data_cleaning фр = др.fillna(статистики.среднее(собственной личности.ДФ), параметр inplace=true в файл) «C:UsersUserPycharmProjectsalgorithmsvenvlibsite-packagespandas_инит_.ру», строка 244, в функцией getattr поднять AttributeError(Ф»модуль ‘панды’ не имеет атрибута ‘{имя}'») Ошибка атрибута: модуль «панды» не имеет атрибута «fillna»

Комментарии:

1. pd.fillna ? может быть, вы хотели использовать .fillna на dataframe не с pd. ? панды. Фрейм данных.заполнена

2. это dataframe.fillna() не так pd.fillna()

3.pandas.pydata.org/pandas-docs/stable/reference/api/… fillna — это функция фрейма данных. Пожалуйста, отредактируйте этот фрагмент

Ответ №1:

fillna() это метод для фрейма данных или серии pandas, вы, вероятно, захотите изменить реализацию data_cleaning() следующим образом:

 def data_cleaning(self):
    # Drop and impute missing values
    df = statistics.mean(self.df.fillna(...))
    return df
 

и укажите значение или метод, которые вы будете использовать для заполнения na в кадре данных.