在熊猫数据框中替换特殊字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在熊猫数据框中替换特殊字符相关的知识,希望对你有一定的参考价值。

我有一个数据集'?'而不是'NaN'表示缺少值。我可以使用replace遍历每一列,但唯一的问题是我有22列。我试图创建一个循环来有效地执行此操作,但是我错了。这是我在做什么:

 for col in adult.columns:
      if adult[col]=='?':
         adult[col]=adult[col].str.replace('?', 'NaN')

计划是使用'NaN',然后使用fillna函数或使用dropna删除它们。第二个问题是,并非所有的列都是分类的,因此str函数也是错误的。我如何轻松应对这种情况?

答案

如果从.csv.xlsx文件中读取数据,则可以使用na_values参数:

adult = pd.read_csv('path/to/file.csv', na_values=['?'])

否则,请执行@MasonCaiby所说的并使用adult.replace('?', float('nan'))

以上是关于在熊猫数据框中替换特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

替换熊猫数据框中所有出现的字符串(Python)

如何在熊猫数据框中捕获连字符分隔数字的平均值?

在熊猫数据框中使用正则表达式替换列值

替换熊猫数据框中的列表元素

使用字典替换熊猫数据框中的单词

Python - 替换熊猫数据框中的负无穷大值[重复]