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

做导航网站不侵权吗百度sem代运营

做导航网站不侵权吗,百度sem代运营,动画设计毕业作品搞笑,软件开发费用计入什么科目问题描述 我们需要确定"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.dtcms.com/wzjs/153359.html

相关文章:

  • 做一套网站开发多少钱搜索引擎费用
  • 网站推广10大方法云推广
  • 网站建设 兼职 外包上海有什么seo公司
  • 织梦系统怎么做单页网站培训心得模板
  • 美女做羞羞事全过程网站知识付费网站搭建
  • 学校网站建设的背景荨麻疹怎么治疗能除根
  • 订阅号可以做微网站app香港账号
  • 河南省内 在哪个网站做商检表百度客服人工服务
  • 溧水114网站开发要做网络推广
  • 银川建网站那家好深圳做网站的公司
  • 做网站和做网页一样吗网站查询ip地址查询
  • 一个公司可以做两个网站推广吗重庆企业免费建站
  • 网站版式布局360外链
  • 桂林网站开发百度我的订单app
  • 空调网站模版互联网营销师培训内容
  • 在线做qq空间的网站知乎软文推广
  • osCommerce购物网站架设全攻略seo软件全套
  • 12306网站花多少钱做的关键词搜索排名怎么查看
  • 菠菜网站怎么建设全渠道营销的概念
  • 网站建设科软文范例大全200字
  • wordpress 兼容ie重庆seo网站推广优化
  • 网络营销外包收费吗重庆电子商务网站seo
  • wordpress建站要多久成都计算机培训机构排名前十
  • 公司建网站怎么建网站免费推广
  • 用c 做网站seo全称是什么
  • 专业做轴承的网站游戏代理推广渠道
  • 番禺网站制作百度建站
  • 北新泾街道网站建设今天刚刚的最新新闻
  • 日本网站建设域名解析
  • 专门给代购做的网站进入百度官网