我想比较2个数据框之间的2个日期列。
我有df1和df2,并且如果df1中的日期> df2做一些事情。
但是当我尝试
if df1['date'] > df2['date']:
print('some stuff')
它返回错误:
ValueError:只能比较标记相同的Series对象
检查两个df中的日期是否相同dtype = datetime64 [ns] 看起来像2019-01-10。
试图重置索引:
df1 = df1.reset_index(drop=True)
df2 = df2.reset_index(drop=True)
但这没有帮助
不知道为什么会这样:(
我还尝试将df1中的最大日期设置为变量,并将df2 ['date']与它进行比较,但这会引发另一个错误
max_date_df1 = df1['date'].max()
df2['date'] > max_date_df1
ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。
答案 0 :(得分:0)
似乎比较的值在一个数据帧的情况下不会改变,因为您尝试使用max_date。您可以尝试使用np.where
,如下所示:
import numpy as np
max_date = df1['date'].max()
df2['new_field'] = np.where(df2['date'] < max_date, <Val if True>, <Val if False>)
让我知道我是否理解您的问题是错误的。