当前位置: 首页 > news >正文

那网站做问答/百度搜索推广方法

那网站做问答,百度搜索推广方法,关于绿色环保网站的建设历程,忽悠别人做商城网站问题描述 我们需要确定"ABC_manage_channel"列的逻辑,该列的值在客户连续在同一渠道下单时更新为当前渠道,否则保留之前的值。具体规则如下: 初始值为第一个订单的渠道如果客户连续两次在同一渠道下单,则更新为当前渠…

问题描述

我们需要确定"ABC_manage_channel"列的逻辑,该列的值在客户连续在同一渠道下单时更新为当前渠道,否则保留之前的值。具体规则如下:

  • 初始值为第一个订单的渠道
  • 如果客户连续两次在同一渠道下单,则更新为当前渠道
  • 否则保持前一个值不变

数据准备

首先创建orders表并插入测试数据:

CREATE OR REPLACE TABLE orders (customerid INTEGER,channel VARCHAR(20),order_date DATE
);INSERT INTO orders (customerid, channel, order_date) VALUES
(1, 'TMALL', '2024-11-01'),
(1, 'TMALL', '2024-11-02'),
(1, 'TMALL', '2024-11-03'),
(1, 'douyin', '2024-11-25'),
(1, 'JD', '2025-01-13'),
(1, 'JD', '2025-01-14'),
(1, 'douyin', '2025-03-02'),
(1, 'douyin', '2025-03-27'),
(3, 'JD', '2024-04-23'),
(4, 'JD', '2025-02-15'),
(5, 'JD', '2024-08-30'),
(6, 'douyin', '2024-10-05'),
(7, 'JD', '2024-05-29'),
(7, 'douyin', '2024-09-15'),
(7, 'Wholesale', '2024-12-22'),
(7, 'JD', '2025-03-19'),
(8, 'douyin', '2024-08-01'),
(8, 'douyin', '2024-08-07'),
(8, 'douyin', '2024-11-15'),
(9, 'JD', '2025-03-19'),
(10, 'douyin', '2024-07-30'),
(10, 'douyin', '2024-12-27'),
(10, 'douyin', '2025-03-21'),
(10, 'douyin', '2025-03-23');

解决方案

要解决这个问题,我们需要为每个客户的订单生成一个名为“ABC_manage_channel”的列,其值根据客户是否连续在同一渠道下单来更新。具体规则如下:

  • 初始值为第一个订单的渠道。
  • 如果客户连续两次在同一渠道下单,则更新为当前渠道。
  • 否则保持前一个值不变。

方法思路

  1. 数据准备:读取并预处理数据,确保订单按日期排序。
  2. 分组处理:按客户分组,对每个客户的订单进行处理。
  3. 逻辑实现:遍历每个客户的订单,初始化第一个订单的值为其渠道。对于后续订单,如果当前渠道与前一个订单相同,则更新为当前渠道,否则保持前一个值。

解决代码

import pandas as pd# 创建DataFrame
orders = pd.DataFrame({'customerid': [1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 6, 7, 7, 7, 7, 8, 8, 8, 9, 10, 10, 10, 10],'channel': ['TMALL', 'TMALL', 'TMALL', 'douyin', 'JD', 'JD', 'douyin', 'douyin', 'JD', 'JD', 'JD', 'douyin', 'JD', 'douyin', 'Wholesale', 'JD', 'douyin', 'douyin', 'douyin', 'JD', 'douyin', 'douyin', 'douyin', 'douyin'],'order_date': ['2024-11-01', '2024-11-02', '2024-11-03', '2024-11-25', '2025-01-13', '2025-01-14', '2025-03-02', '2025-03-27', '2024-04-23', '2025-02-15', '2024-08-30', '2024-10-05', '2024-05-29', '2024-09-15', '2024-12-22', '2025-03-19', '2024-08-01', '2024-08-07', '2024-11-15', '2025-03-19', '2024-07-30', '2024-12-27', '2025-03-21', '2025-03-23']
})# 转换日期格式
orders['order_date'] = pd.to_datetime(orders['order_date'])def compute_abc(group):# 按日期排序group = group.sort_values('order_date')abc = []prev_channel = Noneprev_abc = Nonefor idx, row in group.iterrows():if len(abc) == 0:# 第一个订单current_abc = row['channel']prev_channel = row['channel']prev_abc = current_abcabc.append(current_abc)else:current_channel = row['channel']if current_channel == prev_channel:current_abc = current_channelelse:current_abc = prev_abcabc.append(current_abc)prev_channel = current_channelprev_abc = current_abcgroup['ABC_manage_channel'] = abcreturn group# 应用处理函数
result = orders.groupby('customerid', group_keys=False).apply(compute_abc)print(result)

代码解释

  1. 数据准备:使用Pandas创建DataFrame,并将订单日期转换为日期类型。
  2. 处理函数compute_abc
    • 对每个客户的订单按日期排序。
    • 遍历每个订单,第一个订单的初始值为其渠道。
    • 后续订单判断当前渠道是否与前一个相同,相同则更新,否则保持前一个值。
  3. 分组应用:按客户分组应用处理函数,生成最终结果。
http://www.lryc.cn/news/577661.html

相关文章:

  • asp网站源代码/seo最新优化技术
  • 镇江网站建设一般多少钱/推广策略有哪些方法
  • 天津省网站制作厂家/广告联盟有哪些
  • 成都微信开发小程序/seo关键词排名优化费用
  • 缔烨建设公司网站/营销广告网站
  • 新余 网站建站 设计 公司/百度销售平台
  • html页面能做成网站吗/核心关键词和长尾关键词举例
  • 网站为什么没有排名了/教育培训机构十大排名
  • 西安 网站建设/苏州关键词优化软件
  • 医院诊断证明图片在线制作/seo商学院
  • wordpress转静态页面/seo从0到1怎么做
  • 广州互邦物流网络优化建站/最好的搜索引擎
  • 手机可以做网站吗/站长工具seo综合查询5g
  • 网站速度对seo的影响/如何做网络推广人员
  • app 设计网站建设/百度搜索量
  • 郑州电力高等专科学校专业有哪些/济南seo快速霸屏
  • 担路网如何快速做网站/长沙建站工作室
  • 大米网络营销推广方案/seo数据优化教程
  • 新疆生产建设兵团五十团网站/seo推广的公司
  • 做化妆品的一些网站/搜索seo怎么优化
  • 用户浏览网站的习惯/关键词排名推广怎么做
  • 贵州网站建设费用/seo发外链工具
  • 打造公司的网站/江门网站定制多少钱
  • 网站开发的环境/刷赞网站推广ks
  • 莘庄网站建设/google入口
  • 想做个网站都需要什么/域名交易中心
  • 电脑端网站和手机网站区别/北京seo诊断
  • 廊坊做网站公司/苏州百度推广排名优化
  • 私域流量和裂变营销/网站seo收录
  • 网站设计实验报告内容与步骤/短视频运营是做什么的