You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于user_id与购买月份提取1月、2月均有购买的用户数据?

基于Pandas的实现代码

以下是针对该需求的完整实现方案,默认使用Python的Pandas库处理结构化表格数据:

  • 首先对输入数据做初步筛选,仅保留1月(Jan)、2月(Feb)的购买记录
  • 统计每个用户覆盖的月份数量,筛选出同时存在2个月份购买记录的用户
  • 匹配提取这些用户的所有对应购买记录,即为所需结果

完整代码

import pandas as pd

# ---------------------- 前置处理(无单独月份列时需执行)----------------------
# 假设你的日期列名为 purchase_date,存储可解析的日期格式(如2023-01-05、05/01/2023等)
# df['purchase_date'] = pd.to_datetime(df['purchase_date'])
# df['month'] = df['purchase_date'].dt.strftime('%b') # 自动生成Jan/Feb格式的月份标识

# ---------------------- 核心逻辑 ----------------------
# 1. 筛选1月、2月的所有记录,假设月份列名为month,用户ID列名为user_id
jan_feb_records = df[df['month'].isin(['Jan', 'Feb'])]

# 2. 找出同时有两个月购买记录的用户
valid_users = jan_feb_records.groupby('user_id')['month'].nunique()[lambda x: x == 2].index

# 3. 提取目标用户的所有对应记录
output_df = jan_feb_records[jan_feb_records['user_id'].isin(valid_users)]

# 按用户+月份排序(可选,匹配常规输出排版要求)
output_df = output_df.sort_values(['user_id', 'month']).reset_index(drop=True)

# 输出结果
print(output_df)

如果你的字段名和示例假设不同,替换代码中对应的列名字符串即可正常运行。

内容的提问来源于stack exchange,提问作者Mr_question

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:57:04