python-3.x - 替换熊猫数据框中的特殊字符
问题描述
我有一个数据集“?” 而不是 'NaN' 的缺失值。我本可以使用替换浏览每一列,但唯一的问题是我有 22 列。我正在尝试创建一个循环来有效地做到这一点,但我错了。这是我正在做的事情:
for col in adult.columns:
if adult[col]=='?':
adult[col]=adult[col].str.replace('?', 'NaN')
计划是使用 'NaN' 然后使用fillna函数或使用 dropna 删除它们。第二个问题是不是所有的列都是分类的,所以str函数也是错误的。我怎样才能轻松应对这种情况?
解决方案
如果您正在从.csv
or.xlsx
文件中读取数据,则可以使用以下na_values
参数:
adult = pd.read_csv('path/to/file.csv', na_values=['?'])
否则按照@MasonCaiby 所说的去做并使用adult.replace('?', float('nan'))
推荐阅读
- php - 在刀片循环中获取随机记录
- go - 在 go 中出现错误:func main 未使用
- django - 在 Django admin 的 ManyToMany 字段中查看/编辑对象详细信息的选项
- flutter - WillPopScope 在 IOS Flutter 中禁用向左滑动返回
- django - 芹菜在heroku上发出通知时出现奇怪的连接错误
- python - 将 pandas MultiIndex (kxnxn) 乘以 DataFrame (kxnx 1)
- java - Java Vert.x - 获取结果已经完成:成功错误
- php - Laravel Eloquent 对 JSON 字段不区分大小写
- node.js - MongoDb - 检查今天是否在两个日期之间
- x11 - 安装 Aarch64 libx11 开发文件进行交叉编译