我使用以下命令将CSV导入熊猫数据帧:df=pandas.read_csv("import.csv", names=["Year", "Month", "Day", "Time",
"ColA"], encoding='iso-8859-1')
但是Pandas将ColA作为数据类型对象导入。在
我试着用这个把这个列转换成float:
^{pr2}$
但是会引发此错误:ValueError: could not convert string to float:
这限制了我,因为我不能在object类型的列上运行mean、sum之类的Pandas函数(我需要能够这样做)。对类型为object的dataframe中的列运行类似的函数将返回错误:DataError: No numeric types to aggregate
可乐也含有负数。
现在我想知道如何让Spyder/Python/Pandas告诉我是哪一行引起了错误。换句话说,我如何找出哪一行包含Python解释为字符串的内容?在
CSV包含数十万行,所以仅仅通过在Excel中浏览CSV来查找字符串是没有希望的。非常感谢您的建议!在
编辑
@Jon Clements的下面的注释成功地将列转换为float64类型。
然而,为了处理这些“非数字故障值”,如果Spyder/PythonIDE控制台可以给出这些值,则可以简化查找这些值的过程。Python返回引发错误的特定位置是有意义的。此外,它可以帮助节省大量的时间来定位这些文件,特别是在处理大量的CSV文件时。在
版本信息:python: 3.6.3.final.0
python-bits: 64
pandas: 0.20.3