Python- TypeError:无法将系列转换为 <class 'int'>

Posted

技术标签:

【中文标题】Python- TypeError:无法将系列转换为 <class \'int\'>【英文标题】:Python- TypeError: cannot convert the series to <class 'int'>Python- TypeError:无法将系列转换为 <class 'int'> 【发布时间】:2021-09-24 03:31:15 【问题描述】:

我正在编写此代码来转换特定 csv 文件中的列,然后将其转换为人类可读的时间。但是,只有当我指定一个数据值并且当我尝试转换整个列时它才会显示此错误: TypeError:无法将系列转换为

import pandas as pd 
from tkinter.filedialog import askopenfilename
import csv
from datetime import datetime, timedelta
n=0
file_path= askopenfilename(filetypes=(("CSV File","*.csv"),("All files","*.*")))
print(file_path)
selected_File = pd.read_csv(file_path)
print(selected_File.iloc[:,0])
dtime=datetime.fromtimestamp(selected_File.iloc[:,0])
print(type(dtime))
initial_date="1/1/1900 0:00:00"
i_date= datetime.strptime(initial_date,"%m/%d/%Y %H:%M:%S")
correct_date=i_date+timedelta(days=selected_File.iloc[:,0])
print(correct_date) 

【问题讨论】:

【参考方案1】:

您也可以使用 pandas 内置函数“to_datetime”。

查看here

【讨论】:

【参考方案2】:

您正在调用 Python 标准库函数 datetime.fromtimestamp,它需要一个整数或类似的东西。您正在传递来自 Pandas 的系列,它不知道如何处理。

如果要对系列中的每个元素应用函数,则需要使用Series.apply 方法。例如,

selected_File.iloc[0,:].apply(datetime.fromtimestamp)

这是假设数据中的每一列都包含表示时间戳的整数。

【讨论】:

以上是关于Python- TypeError:无法将系列转换为 <class 'int'>的主要内容,如果未能解决你的问题,请参考以下文章

Dataframe操作TypeError:无法将系列转换为

TypeError:无法将'int'对象隐式转换为str(python)

Python3 错误:TypeError:无法将“字节”对象隐式转换为 str

TypeError:不支持从系列到小数的转换

通过python将MP3转换为midi(TypeError:加载插件失败:mtg-melodia:melodia)

Python 2.7:Canny Edge detection TypeError(“图像数据无法转换为浮点数”)中的错误