在Pandas中,找到所有数据框(dataframe)中类型为float的列,或者特定类型的列。
- 论坛
- 在Pandas中,找到所有数据框(dataframe)中类型为float的列,或者特定类型的列。
7 浏览
在Pandas中,找到所有数据框(dataframe)中类型为float的列,或者特定类型的列。
我有一个名为df的数据框,其中有一些列的类型为float64,而其他列的类型为object。由于混合类型的存在,我无法使用df.fillna('unknown') #出现错误"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')): # 对于object类型 df[col] = df[col].fillna('') # 仍然困惑,只有空字符串可以作为替代,'unknown'对于某些值不起作用,导致出现"ValueError: Error parsing datetime string "unknown" at position 0"的错误
我还想知道为什么在上面的代码中将''替换为'unknown'会对某些单元格起作用,但对于出现"ValueError: Error parsing datetime string "unknown" at position 0"错误的单元格则失败了。非常感谢!Yu