Я начал с курса по науке о данных, который требует от меня обработки пропущенных данных, либо путем удаления строки, содержащей NaN в подмножестве «price», либо замены NaN некоторым средним значением. Однако оба моих dropna () и replace () не работают. В чем может быть проблема?
Я выполнил множество решений по стеку, но моя проблема не была решена. Я также попытался просмотреть pandas.pydata.org, чтобы найти решение, в котором я узнал о различных аргументах dropna (), таких как thresh, how = 'any' и т. Д., Но ничего не помогло.
import pandas as pd
import numpy as np
url="https://archive.ics.uci.edu/ml/machine-learning-databases/autos/imports-85.data"
df=pd.read_csv(url,header=None)
'''
Our data comes without any header or column name,hence we assign each column a header name.
'''
headers=["symboling","normalized-losses","make","fuel-type","aspiration","num-of-doors","body-style","drive-wheels","engnie-location","wheel-base","length","width","height","curb-weight","engine-type","num-of-cylinders","engine-size","fuel-system","bore","stroke","compression-ratio","horsepower","peak-rpm","city-mpg","highway-mpg","price"]
df.columns=headers
'''
Now that we have to eliminate rows containing NaN or ? in "price" column in our data
'''
df.dropna(subset=["price"], axis=0, inplace=True)
df.head(12)
#or
df.dropna(subset=["price"], how='any')
df.head(12)
#also to replace
mean=df["price"].mean()
df["price"].replace(np.nan,mean)
df.head(12)
Ожидалось, что все строки содержат NaN или "?" в столбце «цена» необходимо удалить для dropna () или заменить для replace (). Однако данные, похоже, не изменились.