После разделителя есть пробелы, поэтому добавьте параметр skipinitialspace
:
Adult = pd.read_csv(url2, header=None, skipinitialspace=True)
, а затем корректно работайте с вашим кодом:
MissingValue = Adult["workclass"] == "?"
Adult.loc[MissingValue, "workclass"] = "Private"
print ((Adult['workclass'].value_counts().index.tolist()))
['Private', 'Self-emp-not-inc', 'Local-gov', 'State-gov',
'Self-emp-inc', 'Federal-gov', 'Without-pay', 'Never-worked']
print ((Adult['workclass'].value_counts()))
Private 24532
Self-emp-not-inc 2541
Local-gov 2093
State-gov 1298
Self-emp-inc 1116
Federal-gov 960
Without-pay 14
Never-worked 7
Name: workclass, dtype: int64
Проверьте пробел с помощью кода:
Adult = pd.read_csv(url2, header=None)
#Assigning column names to the dataframe
Adult.columns = ["age","workclass","fnlwgt","education","educationnum","maritalstatus","occupation",
"relationship","race","sex","capitalgain","capitalloss","hoursperweek","nativecountry",
"less50kmoreeq50kn"]
print ((Adult['workclass'].value_counts().index.tolist()))
[' Private', ' Self-emp-not-inc', ' Local-gov', ' ?', ' State-gov',
' Self-emp-inc', ' Federal-gov', ' Without-pay', ' Never-worked']