首页 > 解决方案 > Python将字符串转换为日期时间以查找差异

问题描述

我有一个 CSV 文件,可以像这样导出日期 - 2020-04-10T17:04:17.536Z 和 2020-04-13T15:18:07.327Z

df2 和 df3 将其拆分为这种格式 - 2020-04-10 和 2020-04-13

我希望能够减去这两个日期以获得天数,但不断收到错误 - TypeError: strptime() argument 1 must be str, not Series

我对任何类型的编程仍然很陌生,非常感谢任何帮助

还有一些 df3 将是空白的,那么我该如何设置它以插入当前日期,以便它有一些要减去的东西?

import_file_path = filedialog.askopenfilename()
df1 = pd.read_csv (import_file_path)
df2 = df1['CreateDate'].str.split('T').str[0]
df3 = df1['ResolvedDate'].str.split('T').str[0]


create_date = df2
resolved_date = df3
def Avg_Lifetime(date_str):
    return datetime.strptime(date_str, '%Y, %m, %d')
    
    
created = Avg_Lifetime(create_date)
resolved = Avg_Lifetime(resolved_date)

df9 = resolved - created

标签: pythonpandas

解决方案


d = {'created':['2020-04-10T17:04:17.536Z'],
     'resolved':['2020-04-13T15:18:07.327Z']}

df = pd.DataFrame(d)

df['created']=pd.to_datetime(df['created'])
df['resolved']=pd.to_datetime(df['resolved'])

df['difference'] = df['resolved']-df['created']

推荐阅读