#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 в кадре данных.