我试图用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)
但是这些解决方案似乎都不能改变列中问号的频率。
最佳答案
尝试这个:
df['Workclass'].apply(lambda x: np.nan if x == '?' else x)
如果可行:
df['Workclass'] = df['Workclass'].apply(lambda x: np.nan if x == '?' else x)
如果您要查找“?”您可以在字符串中的任何位置使用此命令:
df['Workclass'].apply(lambda x: np.nan if str(x).find('?')>-1 else x)