模块 'pandas' 没有属性 'fillna'

module 'pandas' has no attribute '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()

回溯错误:

Traceback (most recent call last): File "C:\Users\User\PycharmProjects\algorithms\project_kmeans.py", line 46, in dc = dp.data_cleaning() File "C:\Users\User\PycharmProjects\algorithms\project_kmeans.py", line 26, in data_cleaning df = pd.fillna(statistics.mean(self.df), inplace=True) File "C:\Users\User\PycharmProjects\algorithms\venv\lib\site-packages\pandas_init_.py", line 244, in getattr raise AttributeError(f"module 'pandas' has no attribute '{name}'") AttributeError: module 'pandas' has no attribute 'fillna'

fillna() 是 pandas DataFrame 或 Series 上的一个方法,您可能想要更改 data_cleaning() 实现如下:

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

并指定用于在数据框中填充 na 的值或方法。