首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改'?‘数据帧中的NaN值

更改'?‘数据帧中的NaN值
EN

Stack Overflow用户
提问于 2020-09-28 11:17:47
回答 2查看 54关注 0票数 1

我有一个叫'Country‘的专栏,里面有很多'?’作为值,我尝试将它们转换为NAN,但是值没有改变。这是我的代码。

代码语言:javascript
复制
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函数。

代码语言:javascript
复制
df['Country'].replace('?', np.nan)

我也试过

代码语言:javascript
复制
df = pd.read_csv('train.csv', na_values=['?'])

即使我尝试打印国家/地区值为'?‘的所有行。

它给出了空的数据帧。我不知道怎么解决这个问题。谁能帮帮我。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-09-28 11:30:52

看起来你的?旁边有空格。您需要剥离它们,然后对inplace=True应用replace命令,如下所示:

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2020-09-28 11:34:16

代码语言:javascript
复制
df['Country'].replace(['?'], np.nan,inplace = True)

您忘记使用inplace True进行替换,因此它没有反映

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64095506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档