Python 将给定.csv文件中的现有值替换为NAN

Python 将给定.csv文件中的现有值替换为NAN,python,pandas,numpy,Python,Pandas,Numpy,您好,我是通过笔记本学习python的新手,我通过.csv文件提供了iris数据集,并要求将某些特定行中的一个列值替换为NaN。我尝试了“fillna”函数和“replace”函数,但没有成功。以下是我的代码: import pandas as pd import numpy as np from numpy import nan as NaN url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.d

您好,我是通过笔记本学习python的新手,我通过.csv文件提供了iris数据集,并要求将某些特定行中的一个列值替换为NaN。我尝试了“fillna”函数和“replace”函数,但没有成功。以下是我的代码:

import pandas as pd
import numpy as np
from numpy import nan as NaN
url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data'
iris = pd.read_csv(url)
iris.columns = ['sepal_length','sepal_width','petal_length','petal_width','class']
iris.columns

#iris

iris.petal_length.fillna(np.nan)
iris1=iris.iloc[10:30]
print (iris1)
#bool_series = pd.isnull(iris['petal_length'])
#print (df)
我认为你可以使用:

这将替换为“花瓣长度”列的np.nan

irirs.petal_length.replace(<some_value>, np.nan)
irirs.petal_长度.替换(,np.nan)
这将替换花瓣长度等于的行

irirs[irirs.petal_length==]=np.nan

看起来问题在于,您没有从
.fillna()
.replace()
保存生成的数据帧。默认情况下,这些方法返回新的DataFrame对象。要解决此问题,请将结果保存到变量中,或在
replace()
fillna()
调用中使用
inplace=True
参数。

欢迎使用SO。请阅读,并在问题中包含输入和预期输出*。csv文件是一个文本文件,其中仅存储表示。您希望NaN值有什么表示形式?只有空字段…这能回答你的问题吗?我已经回答了下面的问题,但是@balandongiv链接的答案也应该回答你的问题,而且它有很好的例子。@SangeethaPuliad你能给出一个想要的输出吗?
irirs[irirs.petal_length == <some_value>] = np.nan