我正在尝试比较两个日期列中的日期并标记任何有问题的结果,但我不知道该怎么做。
样本数据:
初始合同结束日期 | 新合同结束日期 |
---|---|
2022-07-01 | 2022-08-01 |
2022-07-01 | 2022-06-01 |
2022-07-01 | 2022-07-01 |
这是我格式化日期的方式: df_TrueUp_OP_UD_ET_M['初始合同结束日期'] = pd.to_datetime(df_TrueUp_OP_UD_ET_M['初始合同结束日期']) df_TrueUp_OP_UD_ET_M['新合同结束日期'] = pd.to_datetime(df_TrueUp_OP_UD_ET_M['INew 合同结束日期'])
这是我的代码的样子: df_TrueUp_Check.loc[(df_TrueUp_Check['初始合同结束日期'] > ['新合同结束日期']), 'FLAG'] = 'ERROR'
但我收到以下错误: “ValueError:('长度必须匹配才能比较',(393,),(1,))”
有什么想法吗?谢谢!
我尝试了各种格式化日期的方法。 .astype('datetime64[ns] .dt.normalize()
例子
data = {'colA': {0: '2022-07-01', 1: '2022-07-01', 2: '2022-07-01'},
'colB': {0: '2022-08-01', 1: '2022-06-01', 2: '2022-07-01'}}
df = pd.DataFrame(data)
df
colA colB
0 2022-07-01 2022-08-01
1 2022-07-01 2022-06-01
2 2022-07-01 2022-07-01
代码
df['colA'] = pd.to_datetime(df['colA'])
df['colB'] = pd.to_datetime(df['colB'])
df['colA'] > df['colB']
输出:
0 False
1 True
2 False
dtype: bool
你的代码:
df['colA'] > ['colB']
错误:
ValueError: ('Lengths must match to compare', (3,), (1,))