我有一个名为data
的python数据帧。在此数据框中,一个字段为price
,数据类型为object
。
数据框包含不同字段中的缺失值。缺失值为"?"
。我想替换那个缺失的值。我想将"?"
替换为"NaN"
&然后申请fillna()
。所以我写了这段代码
data.replace('?','NaN')
但是在执行此代码后,我仍然“得到”?我正在写下线
data['price'].max()
你能告诉我什么是正确的方法吗?我在Windows 10上使用python 3.6
答案 0 :(得分:3)
尝试使用np.nan
<强>实施例强>
import pandas as pd
import numpy as np
data = pd.DataFrame({"price": ["?", "Hello", "?", "World"]})
data["price"].replace('?',np.nan, inplace=True)
print(data.fillna(0))
<强>输出:强>
price
0 0
1 Hello
2 0
3 World
答案 1 :(得分:1)
尝试使用inplace=True
保留原始数据框中的更改。
data.replace('?','NaN', inplace=True)