两列熊猫之间的日期差异

时间:2021-07-30 08:59:28

标签: python pandas

我正在尝试查找 02 列和我的代码之间的日期差异,如下所示

import pandas as pd
from datetime import datetime
df1 = pd.DataFrame({'BAS_DT':[20210630,20210630,20210630],'EXP_DT':[20220730,20230731,20240630]})
df1['DT_DIFF'] = df1['EXP_DT'] - df1['BAS_DT']
print(df1)

#df1
     BAS_DT    EXP_DT  DT_DIFF
0  20210630  20220730    10100
1  20210630  20230731    20101
2  20210630  20240630    30000

此结果不准确,因此我将 'BAS_DT''EXP_DT' 更改为另一种日期时间格式。

df1['BAS_DT'] = df1['BAS_DT'].astype(str)
df1['EXP_DT'] = df1['EXP_DT'].astype(str)
df1['BAS_DT'] = df1['BAS_DT'].apply(lambda x:datetime.strptime(x,'%Y%m%d').strftime('%d/%m/%Y'))
df1['EXP_DT'] = df1['EXP_DT'].apply(lambda x:datetime.strptime(x,'%Y%m%d').strftime('%d/%m/%Y'))

df1['DT_DIFF2'] = df1['EXP_DT'] - df1['BAS_DT']
print(df1)

但我收到一个错误消息:TypeError: unsupported operand type(s) for -: 'str' and 'str'

这种情况我该怎么办?感谢并致以最诚挚的问候。

0 个答案:

没有答案