我有一个叫'Country‘的专栏,里面有很多'?’作为值,我尝试将它们转换为NAN,但是值没有改变。这是我的代码。
df['Country'].value_counts()
United-States 29170
Mexico 643
? 583
Philippines 198
Germany 137
df[df['Country']=='?'] = np.nan
df['Country'].isnull().sum()
0我也尝试过使用replace函数。
df['Country'].replace('?', np.nan)我也试过
df = pd.read_csv('train.csv', na_values=['?'])即使我尝试打印国家/地区值为'?‘的所有行。
它给出了空的数据帧。我不知道怎么解决这个问题。谁能帮帮我。
谢谢
发布于 2020-09-28 11:30:52
看起来你的?旁边有空格。您需要剥离它们,然后对inplace=True应用replace命令,如下所示:
In [848]: df
Out[848]:
Country values
0 United-States 29170
1 Mexico 643
2 ? 583
3 Philippines 198
4 Germany 137
In [849]: df['Country'].str.strip().replace('?', np.nan, inplace=True)
In [850]: df
Out[850]:
Country values
0 United-States 29170
1 Mexico 643
2 NaN 583
3 Philippines 198
4 Germany 137发布于 2020-09-28 11:34:16
df['Country'].replace(['?'], np.nan,inplace = True)您忘记使用inplace True进行替换,因此它没有反映
https://stackoverflow.com/questions/64095506
复制相似问题