Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用pandas处理列中缺少的值_Python_Pandas_Missing Data - Fatal编程技术网

Python 使用pandas处理列中缺少的值

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_

我使用的是自动MPG数据集,该数据集的列/属性
马力
中缺少
字符形式的值

因此,当我使用代码时-

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。在发布之前,我已经验证了我的答案。它起作用了。