从 csv 文件等源读取数据帧时,会出现“?”等文字 显示 pandas 中的空白值。
如果这是一个数字列,并且您尝试用mean替换,df['weight'].replace('?',df['weight'].mean() ,inplace='True')
如果它的类型是“Object”而不是int64,则可能不起作用。
在这种情况下,我会替换这些“?” 与 NaN 是因为 isna() 不能直接对它们起作用。然后将这些 NaN 替换为 0,最后用它们替换为实际值进行插补
df['SGOT'].replace('?',np.nan,inplace='True' )
df1['SGOT'].fillna(value=0,inplace=True)
df1['SGOT']=df1['SGOT'].astype(int)
df1['SGOT'].replace(0,df1['SGOT'].mean(),inplace=True )
Run Code Online (Sandbox Code Playgroud)
我确信有更好的方法来做到这一点。请告诉我