问题描述
在读取excel表格的数据进行计算和二次函数拟合的时候,发生的错误。
错误提示如下:
TypeError: can't multiply sequence by non-int of type 'float'
由于是很大的表格,经过分析发现有一列的数据类型不是float,而是object:
分析出错原因
查找出错数据:
data_coal.info()
data_coal.select_dtypes(exclude=['float'])
data_coal["修正后负荷(MW)"].dtype
dtype('O')中的O代表object
pandas中的某一列如data_coal["修正后负荷(MW)"]是一个series类型,没有找到series里直接判断不同数据类型的现成方法或函数。
解决办法:
自己用python的type功能和pandas的series自带功能写了一个小循环解决此问题:
1、找到坏数据
for i in range(data_coal["修正后负荷(MW)"].size):
if data_coal["修正后负荷(MW)"].str.isnumeric()[i] == False:
print(i)
###################################