我正在尝试查找 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'
这种情况我该怎么办?感谢并致以最诚挚的问候。