【发布时间】:2019-12-01 07:43:48
【问题描述】:
我正在尝试用 np.nan 替换我的数据集中的问号:
我尝试使用以下代码:
df['Workclass'] = [row if row!='?' else np.nan for row in df['Workclass']]
还有这个:
df['Workclass'] = df['Workclass'].map(lambda x: np.nan if x=="?" else x)
还有这个:
df['Workclass'] = df['Workclass'].replace(to_replace =['?'], value = np.nan, regex = True)
但这些解决方案似乎都没有改变列中问号的频率。
【问题讨论】:
-
Murtaza,也许试试这个,以防列中有空格或其他东西,'?':df['Workclass'].apply(lambda x: np.nan if str(x) .find('?')>-1 else x) 似乎可能存在数据问题
-
你能测试一下
df['Workclass'] = df['Workclass'].str.strip().map(lambda x: np.nan if x=="?" else x)吗? -
所以我上面的解决方案有效吗?
标签: python pandas replace null