将给定 .csv 文件中的现有值替换为 NAN
Posted
技术标签:
【中文标题】将给定 .csv 文件中的现有值替换为 NAN【英文标题】:replace the existing values to NAN in a given .csv file 【发布时间】:2020-11-16 19:01:45 【问题描述】:您好,我是通过笔记本学习 python 的新手,我通过 .csv 文件提供了 iris 数据集,并要求将某些特定行中的列值之一替换为 NaN。我尝试了“fillna”函数和“替换”功能,但我没有成功。这是我的代码:
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)
【问题讨论】:
欢迎来到 SO。请阅读***.com/questions/20109391/…,并在问题中包含输入和预期输出*作为文本)。 一个 csv 文件是一个 text 文件,其中只存储表示。您期望 NaN 值的表示形式是什么?只是空字段... 这能回答你的问题吗? Pandas Replace NaN with blank/empty string 我已经在下面回答了,但@balandongiv 链接的答案也应该回答你的问题,并且有很好的例子。 【参考方案1】:看起来问题是,您没有从.fillna()
或.replace()
保存生成的DataFrame。默认情况下,这些方法返回新的 DataFrame 对象。要解决此问题,请将结果保存到变量中或在 replace()
或 fillna()
调用中使用 inplace=True
参数。
【讨论】:
【参考方案2】:我认为你可以使用:
这会将
irirs.petal_length.replace(<some_value>, np.nan)
这将替换petal_length等于
irirs[irirs.petal_length == <some_value>] = np.nan
【讨论】:
@SangeethaPuliad 你能提供一个想要的输出吗?以上是关于将给定 .csv 文件中的现有值替换为 NAN的主要内容,如果未能解决你的问题,请参考以下文章
如何将给定的 Excel 文件转换为 Python 中的字典?