擅长:python、mysql、java
<p>正如我在评论中所说。接受的答案和合并现在没有意义,因为我认为OP希望比较两个数据帧中的每一行,因此也需要数据帧<code>df</code>中的键<code>id_sinistre</code>。或希望使用<code>combine_first</code>如下所示:</p>
<pre><code>df_merge = df.merge(sinistre1, on='id_police', how='left')
df_merge['DATESURV'] = pd.to_datetime(df_merge['DATESURV'])
df_merge['sinistre'] = np.where(df_merge['DATESURV'].between(df_merge['DATEEFFE'], df_merge['DATE_FIN']), 1, 0)
df_merge = df_merge.drop(['DATESURV', 'id_sinistre'], axis=1)
print(df_merge)
DATEEFFE DATE_FIN id_police prime prime2 sinistre
0 2017-01-24 2017-02-24 p123 0 0 0
1 2017-11-24 2017-12-24 p123 0 30 1
2 2018-02-25 2018-03-25 p123 10 10 1
3 2018-02-24 2018-03-24 b123 20 20 1
4 2018-03-24 2018-04-24 b123 30 0 0
</code></pre>