<p>您可以在<code>Number</code>上使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html" rel="nofollow noreferrer">^{<cd1>}</a>,然后使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html" rel="nofollow noreferrer">^{<cd3>}</a>过滤条件,其中<code>DateDone.df2</code>是<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.between.html" rel="nofollow noreferrer">^{<cd5>}</a>{<cd6>}+/-7天,使用+/-<code>pd.DateOffset(days=7)</code>,如下所示:</p>
<pre><code>df1['DateDone'] = pd.to_datetime(df1['DateDone'], dayfirst=True)
df2['DateDone'] = pd.to_datetime(df2['DateDone'], dayfirst=True)
df_merge = df1.merge(df2, on='Number', suffixes=('.df1', '.df2'))
result = df_merge.loc[
df_merge['DateDone.df2'].between(
df_merge['DateDone.df1'] - pd.DateOffset(days=7),
df_merge['DateDone.df1'] + pd.DateOffset(days=7))]
</code></pre>
<p>结果:</p>
<pre><code>print(result)
Number Report.df1 DateDone.df1 Report.df2 DateDone.df2
0 1 some words 2021-01-13 hocum poklum 2021-01-11
3 1 more stuff 2021-08-21 mjimmeny cricket 2021-08-21
8 44 rara rasputin 2021-10-13 im innocent 2021-10-12
13 2 gobbledy bla 2019-03-01 its not really 2019-03-06
</code></pre>