我有一个数据帧,df,有一些类型为float64的列,而其他列是对象.由于混合性,我不能使用
df.fillna('unknown') #getting error "ValueError: could not convert string to float:"
因为类型为float64的列发生错误(有误导性的错误消息!)
所以我希望我可以做一些类似的事情
for col in df.columns[]:
df[col] = df[col].fillna("unknown")
所以我的问题是如果有这样的过滤器表达式,我可以用df.columns?
我猜可以不那么优雅,我可以做:
for col in df.columns:
if (df[col].dtype == dtype('O')): # for object type
df[col] = df[col].fillna('')
# still puzzled, only empty string works as replacement, 'unknown' would not work for certain value leading to error of "ValueError: Error parsing datetime string "unknown" at position 0"
我也想知道为什么在上面的代码替换”与’未知’代码将适用于某些单元格但失败与一个单元格错误“ValueError:错误解析datetime字符串”未知“在位置0”
非常感谢!
宇