擅长:python、mysql、java
<p>确保您的日期列实际上是datetime,因为您将无法比较字符串以便在第一周内仅筛选出这些实例。有关<a href="https://stackoverflow.com/questions/17134716/convert-dataframe-column-type-from-string-to-datetime-dd-mm-yyyy-format">converting strings into datetime</a>,请参见此处</p>
<p>合并两个表:</p>
<pre><code>df_merged = pd.merge(activity,users,on='UserID')
</code></pre>
<p>您将获得包含每行中各自日期的活动表</p>
<p>筛选合并列表:</p>
<pre><code>df_merged = df_merged.loc[df_merged['Date'] >= df_merged['RegDate']] # lower bound
df_merged = df_merged.loc[df_merged['Date'] < df_merged['WeekAfterRegDate']] # upper bound
</code></pre>
<p>该表现在只包含相关行</p>
<p>现在按用户分组并计算收入:</p>
<pre><code>df_revenue = df_merged.groupby('UserID')['Revenue'].sum()
</code></pre>