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



我编写这段代码是为了转换特定csv文件中的列,然后将其转换为人类可读时间。但是,只有当我指定了一个数据值,并且当我尝试转换整列时,它才会显示以下错误:TypeError:无法将序列转换为<类"int">

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) 

您正在调用Python标准库函数datetime.fromtimestamp,该函数需要一个整数或类似的值。您正在从Pandas传递一个Series,它不知道该怎么处理。

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

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

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

您还可以使用panda内置的函数"to_datetime"。

查看此处

最新更新