首页 > 解决方案 > 替换熊猫数据框中的特殊字符

问题描述

我有一个数据集“?” 而不是 'NaN' 的缺失值。我本可以使用替换浏览每一列,但唯一的问题是我有 22 列。我正在尝试创建一个循环来有效地做到这一点,但我错了。这是我正在做的事情:

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

计划是使用 'NaN' 然后使用fillna函数或使用 dropna 删除它们。第二个问题是不是所有的列都是分类的,所以str函数也是错误的。我怎样才能轻松应对这种情况?

标签: python-3.xpandas

解决方案


如果您正在从.csvor.xlsx文件中读取数据,则可以使用以下na_values参数:

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

否则按照@MasonCaiby 所说的去做并使用adult.replace('?', float('nan'))


推荐阅读