我尝试检查一个df中的值是否在另一个df的两个值之间。如果是这样,则应将第一个df的值相加。
df1['MyNewCol'] = df2[(df2['date'] >= df1['Startdate']) and (df2['date'] <= df1['enddate'])].sum('values', axis = 1)
这是我的代码的样子,它将检查df2中提到的日期是否在开始日期和结束日期之间。如果是这样,它将打印值的总和。
我收到“只能比较标记相同的Series对象”错误。有没有简单的方法可以解决问题?
答案 0 :(得分:0)
两个数据帧序列的大小不同以进行比较,或者索引不相似。因此,在这些情况下,运算符>=
无法进行比较。
and
是python运算符。您需要根据逻辑&
(df2['date'] >= df1['Startdate']) & (df2['date'] <= df1['enddate'])