Python 将(df1、df2)结果转换为对象类型列

Python 将(df1、df2)结果转换为对象类型列,python,pandas,Python,Pandas,我正在连接从excel读取的一组数据帧。 问题是,虽然我感兴趣的列有一个float64数据类型, 连接数据帧中的列返回一个对象作为数据类型 我最初认为这是由于某些数据帧中缺少列造成的,但当我使用检查代码检测缺少的列时,并没有抛出标志 守则如下: 作为pd进口熊猫 for logfile in listofFiles: allData = pd.concat([alldata, pd.read_excel(logfile, header=0)]) 对于连接的数据,我得到的结果是: >&

我正在连接从excel读取的一组数据帧。 问题是,虽然我感兴趣的列有一个float64数据类型, 连接数据帧中的列返回一个对象作为数据类型

我最初认为这是由于某些数据帧中缺少列造成的,但当我使用检查代码检测缺少的列时,并没有抛出标志

守则如下: 作为pd进口熊猫

for logfile in listofFiles:
  allData = pd.concat([alldata, pd.read_excel(logfile, header=0)])
对于连接的数据,我得到的结果是:

>>allData['column_of_interest']
>> ... dtype: object
而单个数据帧的结果是:

>> df = pd.read_excel(oneFile, header=0)
>> df['column_of_interest']
>> ... dtype: float64

任何智慧都将被感激

旁注:将所有数据帧存储在一个列表中并在末尾将它们连接起来会快得多。如果在循环中添加
print(pd.read\u excel(logfile,header=0)['column\u of\u interest']].dtype)
,它会说什么?我很确定其中一些将是
对象
。请尝试allData['column\u of\u interest']=allData.column\u of\u interest.apply(pd.to\u numeric)谢谢Jay@IanS。是的,有一组文件作为对象读取。对于这些数据帧,apply(to_numeric)抛出一个valueError。深入到文件中,数据中似乎存在一些随机(?)噪声,其中一个或多个单元格的数值中填充了一些特殊字符。将必须找到一种方法来清理它。幸运的是,它是一个“{”添加到一些单元格中。将其删除为
>allData[column]=allData[column]。替换(regex=True,to_replace=r'{',value='')
,然后
>allData[column]=pd.to_numeric(allData[column],“强制”)
转换数据类型。旁注:将所有数据帧存储在一个列表中并在末尾将它们全部连接起来会快得多。如果您在循环中添加
打印(pd.read\u excel(logfile,header=0)['column\u of\u interest'].dtype)
,它会说什么?我很确定其中一些将是
对象
。请尝试所有数据['column\u of interest']=allData.column\u of\u interest.apply(pd.to\u numeric)谢谢Jay@IanS。是的,有一组文件作为对象读取。对于这些数据帧,apply(to\u numeric)抛出一个valueError。深入文件,似乎有一些随机(?)数据中的噪声,其中一个或多个单元格的数值中填充了一些特殊字符。必须找到一种方法来清除这些噪声。幸运的是,在一些单元格中添加了一个“{”。使用
>allData[column]=allData[column]将其删除。替换(regex=True,to_replace=r'{',value='')
然后
>allData[column]=pd.to_numeric(所有数据[列],“强制”)
转换数据类型。