Python 使用pandas处理列中缺少的值
我使用的是自动MPG数据集,该数据集的列/属性Python 使用pandas处理列中缺少的值,python,pandas,missing-data,Python,Pandas,Missing Data,我使用的是自动MPG数据集,该数据集的列/属性马力中缺少?字符形式的值 因此,当我使用代码时- data.isnull.values.any() 或 它们都返回False,因为这些代码用于NaN值或空白值 如何查找包含特殊字符的缺失值,在我的例子中,这些字符恰好是?,而不是传统的NaN值 谢谢 检查前使用NaNs: data["horsepower"].replace('?',np.nan).isnull().values.any() data = pd.read_csv(path, na_
马力
中缺少?
字符形式的值
因此,当我使用代码时-
data.isnull.values.any()
或
它们都返回False
,因为这些代码用于NaN值或空白值
如何查找包含特殊字符的缺失值,在我的例子中,这些字符恰好是?
,而不是传统的NaN值
谢谢 检查前使用NaN
s:
data["horsepower"].replace('?',np.nan).isnull().values.any()
data = pd.read_csv(path, na_values=["?"])
data["horsepower"].isnull().values.any()
如果通过添加用于将?
转换为NaN
s的参数创建了DataFrame
:
data["horsepower"].replace('?',np.nan).isnull().values.any()
data = pd.read_csv(path, na_values=["?"])
data["horsepower"].isnull().values.any()
您可以将
na_值定义为?
或使用以下选项:
df.replace(r'[\W]',np.nan,regex=True)
\W
查找任何不是字母、数字或下划线字符的字符。您需要先将?
转换为NaN
。
然后,您可以在其中查找空值
1) 要将?
转换为NaN
:
data.replace('?',np.NaN)
2) 要查找空值,请执行以下操作:
pd.isna(data['horsepower'])
它将使用df.horspower.replace('?',np.NaN,inplace=True)
返回带有一系列True/False的数据帧,并使用df.horspower.replace('?',np.NaN,inplace=True)
将替换为NaN/code>,替换为,,然后按照通常的方式从csv文件中读取数据,然后在read\u csv中提供na\u值。有关更多详细信息,请访问@MohamedThasinah。在发布之前,我已经验证了我的答案。它起作用了。