连表车次信息视频库再筛选时长匹配车次ID最后排序优先推荐完播率高的。Python代码示例import pandas as pd # 车次表 视频库模拟数据 train_df pd.DataFrame({ train_id: [101, 102], remaining_minutes: [45, 90] # 剩余分钟数 }) video_df pd.DataFrame({ video_id: [v1, v2, v3], duration_min: [30, 60, 120], completion_rate: [0.85, 0.72, 0.91] # 完播率 }) # 连接筛选排序核心三步 result ( train_df[train_df[train_id] 101] # 筛选目标车次 .merge(video_df[video_df[duration_min] 45], howcross) # 连接时长过滤 .sort_values(completion_rate, ascendingFalse) # 优先推荐高完播 [[train_id, video_id, duration_min]] ) print(result)业务复用场景美团骑手订单匹配筛选3公里内可接单骑手小红书笔记用户标签匹配精准推送美妆内容滴滴车型用户需求匹配筛选符合宠物友好的车辆 模式2窗口函数 排名排序神器业务场景美妆品牌想监控各KOL账号下点赞最高的3篇笔记用于复盘内容策略。核心逻辑按账号分组PARTITION BY按点赞降序排ORDER BY用RANK()打标再筛前3。Python代码示例# 模拟笔记数据 notes_df pd.DataFrame({ account: [A, A, A, B, B, B], note_id: [1,2,3,4,5,6], likes: [1200, 3500, 2800, 900, 4100, 3900] }) # 窗口函数排名pandas 2.1 支持 rank notes_df[rank] notes_df.groupby(account)[likes]\ .rank(methodmin, ascendingFalse) # methodmin 等价 SQL RANK() # 筛选各账号前3 top3 notes_df[notes_df[rank] 3][[account, note_id, likes, rank]] print(top3) ## 运行结果 account note_id likes rank 0 A 1 1200 3.0 1 A 2 3500 1.0 2 A 3 2800 2.0 3 B 4 900 3.0 4 B 5 4100 1.0 5 B 6 3900 2.0 业务复用场景淘宝直播各主播场均GMV排名找头部潜力股学而思各班级学员进步榜激励复盘双用顺丰各片区骑手准时率排名优化运力调度 模式3聚合分组 数据卷王必备业务场景分析用户当天打开APP当天完成下单的行为计算人均订单数客单价评估即时需求转化效率。核心逻辑先按用户日期去重确保一人一天只算一次会话再连订单表最后GROUP BY聚合求和/计数。Python代码示例# 会话表 订单表 session_df pd.DataFrame({ user_id: [101,101,102], session_date: [2024-06-01,2024-06-02,2024-06-01] }).drop_duplicates() # 去重一人一天只算一次 order_df pd.DataFrame({ user_id: [101,101,102], order_date: [2024-06-01,2024-06-01,2024-06-01], order_value: [35.5, 28.0, 52.0] }) # 连接聚合 result ( session_df.merge(order_df, left_on[user_id,session_date], right_on[user_id,order_date]) .groupby([user_id,session_date]) .agg(total_orders(order_value,count), total_value(order_value,sum)) .reset_index() ) print(result) ## 运行结果 user_id session_date total_orders total_value 0 101 2024-06-01 2 63.5 1 102 2024-06-01 1 52.0 业务复用场景京东到家用户日活下单转化评估小时达粘性得到APP用户日登录课程购买分析知识付费路径银行APP用户日打开理财申购追踪金融转化漏斗 模式4透视表 把行变列一眼看懂趋势业务场景HR想横向对比各职级员工在2021-2024年的调薪幅度快速识别涨薪黑马和滞涨群体。核心逻辑用CASE WHEN或pandas pivot把年份从行变列再用MAX/SUM聚合最后按员工分组输出。Python代码示例# 模拟调薪数据 salary_df pd.DataFrame({ employee: [张三,张三,张三, 李四,李四], year: [2021,2022,2023, 2021,2022], salary: [15, 18, 22, 20, 21] # 单位万 }) # 透视年份变列方法1pivot_table pivot salary_df.pivot_table( indexemployee, columnsyear, valuessalary, aggfuncmax # 同年份多条取最高 ).fillna(0) # 缺失年份补0 print(pivot) # 输出 # year 2021 2022 2023 # employee # 张三 15.0 18.0 22.0 # 李四 20.0 21.0 0.0业务复用场景财务各事业部季度营收对比一眼看出谁在拖后腿运营各渠道月度ROI透视快速分配下月预算产品各功能模块周活对比决定迭代优先级 模式5累计指标 看趋势别只看单点业务场景投资人想看剔除退款后的真实增长计算3个月滚动平均GMV平滑大促波动看清长期趋势。核心逻辑先按月聚合剔除负值退款再用rolling().mean()算滑动平均最后按时间排序输出。Python代码示例# 模拟采购数据含退款负值 purchase_df pd.DataFrame( { date: pd.date_range(2023-01, periods13, freqME), # 生成13期 amount: [120, -15, 135, 142, -8, 158, 165, 170, -20, 185, 192, 200, 210], } ) # 1. 按月聚合 剔除退款 monthly ( purchase_df[purchase_df[amount] 0] .groupby(pd.Grouper(keydate, freqME)) .agg(monthly_gmv(amount, sum)) .reset_index() ) # 2. 计算3期滚动平均 monthly[rolling_3m] monthly[monthly_gmv].rolling(window3).mean() print(monthly[[date, monthly_gmv, rolling_3m]]) ## 运行结果 date monthly_gmv rolling_3m 0 2023-01-31 120 NaN 1 2023-02-28 0 NaN 2 2023-03-31 135 85.000000 3 2023-04-30 142 92.333333 4 2023-05-31 0 92.333333 5 2023-06-30 158 100.000000 6 2023-07-31 165 107.666667 7 2023-08-31 170 164.333333 8 2023-09-30 0 111.666667 9 2023-10-31 185 118.333333 10 2023-11-30 192 125.666667 11 2023-12-31 200 192.333333 12 2024-01-31 210 200.666667