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

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】电商数据分析案例-9.2 流量转化漏斗分析

👉 点击关注不迷路
👉 点击关注不迷路
👉 点击关注不迷路


文章大纲

  • 9.2 流量转化漏斗分析:从数据清洗到可视化全流程实战
    • 一、背景与目标
    • 二、数据准备与清洗
      • 2.1 数据来源与字段说明
      • 2.2 数据清洗步骤
        • 2.2.1 去除无效数据
        • 2.2.2 处理时间格式
        • 2.2.3 剔除重复记录
    • 三、漏斗模型构建
      • 3.1 定义转化路径
      • 3.2 计算各阶段转化率
        • 3.2.1 基础指标统计
        • 3.2.2 漏斗转化率计算
      • 3.3 结果展示
    • 四、多维度分析
      • 4.1 按商品类目分析
      • 4.2 按用户类型分析
    • 五、可视化展示
      • 5.1 漏斗图
      • 5.2 转化率趋势图
    • 六、瓶颈识别与优化建议
      • 6.1 瓶颈分析
      • 6.2 优化策略
    • 七、性能优化与工具整合
      • 7.1 索引优化
      • 7.2 工具整合
    • 八、总结

9.2 流量转化漏斗分析:从数据清洗到可视化全流程实战

在这里插入图片描述

一、背景与目标

在电商运营中,流量转化漏斗分析是评估用户行为路径健康度的核心手段

  • 通过分析用户从进入网站到完成购买的全流程转化率,能够精准定位流失瓶颈,优化运营策略。
  • 本章将结合PostgreSQL数据库,详细演示如何构建电商流量转化漏斗模型,涵盖数据清洗、指标计算、可视化展示及优化建议。

二、数据准备与清洗

2.1 数据来源与字段说明

本案例使用某电商平台2023年Q3的用户行为数据,包含以下核心字段:

  • user_id:用户唯一标识
  • event_type:行为类型(pv-页面浏览、cart-加入购物车、order-提交订单、pay-支付成功)
  • event_time:行为发生时间
  • product_id:商品ID
  • category_id:商品类目ID

2.2 数据清洗步骤

2.2.1 去除无效数据
-- 创建原始用户行为表 raw_user_behavior
CREATE TABLE IF NOT EXISTS raw_user_behavior (id SERIAL PRIMARY KEY,  -- 自增主键用于唯一标识记录user_id BIGINT NOT NULL,  -- 用户唯一标识(假设用户ID为大整数)event_type VARCHAR(10) NOT NULL CHECK (event_type IN ('pv', 'cart', 'order', 'pay')),  -- 行为类型约束event_time TIMESTAMP NOT NULL,  -- 行为发生时间(带时间戳)product_id BIGINT NOT NULL,  -- 商品ID(假设商品ID为大整数)category_id BIGINT NOT NULL  -- 商品类目ID(假设类目ID为大整数)
);-- 插入100条测试数据(模拟2023年Q3电商用户行为)
INSERT INTO raw_user_behavior (user_id, event_type, event_time, product_id, category_id)
SELECT -- 生成1-20的随机用户ID(模拟20个活跃用户)floor(random() * 20 + 1)::BIGINT AS user_id,-- 按比例生成行为类型(pv:60%, cart:20%, order:10%, pay:10%)CASE WHEN random() < 0.6 THEN 'pv'WHEN random() < 0.8 THEN 'cart'WHEN random() < 0.9 THEN 'order'ELSE 'pay'END AS event_type,-- 生成2023-07-01到2023-09-30之间的随机时间'2023-07-01'::TIMESTAMP + random() * ('2023-09-30'::TIMESTAMP - '2023-07-01'::TIMESTAMP) AS event_time,-- 生成1-50的随机商品ID(模拟50款商品)floor(random() * 50 + 1)::BIGINT AS product_id,-- 生成1-10的随机类目ID(模拟10个商品类目)floor(random() * 10 + 1)::BIGINT AS category_id
FROM generate_series(1, 100);  -- 生成100条记录-- 过滤异常行为类型(保留有效行为)
CREATE TABLE clean_user_behavior AS
SELECT user_id, event_type, event_time, product_id, category_id
FROM raw_user_behavior
WHERE event_type IN ('pv', 'cart', 'order', 'pay');

在这里插入图片描述

2.2.2 处理时间格式
-- 将时间戳转换为日期时间类型
-- 步骤1:将错误的TIMESTAMP类型转回BIGINT(恢复原始毫秒时间戳)
ALTER TABLE clean_user_behavior
ALTER COLUMN event_time 
TYPE BIGINT 
USING EXTRACT(EPOCH FROM event_time)::BIGINT * 1000;  -- 秒级时间戳转毫秒(*1000)-- 步骤2:重新转换为正确的TIMESTAMP类型
ALTER TABLE clean_user_behavior
ALTER COLUMN event_time 
TYPE TIMESTAMP 
USING TO_TIMESTAMP(event_time::DOUBLE PRECISION / 1000);  -- 毫秒转秒(/1000)
2.2.3 剔除重复记录
-- 按用户ID、行为类型、时间去重
CREATE TABLE unique_user_behavior AS
SELECT DISTINCT ON (user_id, event_type, event_time) *
FROM clean_user_behavior
ORDER BY user_id, event_type, event_time;

三、漏斗模型构建

3.1 定义转化路径

本案例分析用户从浏览商品→加入购物车→提交订单→支付成功的核心转化路径,各阶段定义如下:

    1. 浏览(pv):用户访问商品详情页
    1. 加购(cart):用户将商品加入购物车
    1. 下单(order):用户提交订单
    1. 支付(pay):用户完成支付

3.2 计算各阶段转化率

3.2.1 基础指标统计
-- 统计各行为总数
SELECT event_type,COUNT(DISTINCT user_id) AS uv,COUNT(*) AS pv
FROM unique_user_behavior
GROUP BY event_type;

在这里插入图片描述

3.2.2 漏斗转化率计算
-- 使用窗口函数计算各阶段转化率
WITH funnel_base AS (SELECT user_id,MAX(CASE WHEN event_type = 'pv' THEN 1 ELSE 0 END) AS has_pv,MAX(CASE WHEN event_type = 'cart' THEN 1 ELSE 0 END) AS has_cart,MAX(CASE WHEN event_type = 'order' THEN 1 ELSE 0 END) AS has_order,MAX(CASE WHEN event_type = 'pay' THEN 1 ELSE 0 END) AS has_payFROM unique_user_behaviorGROUP BY user_id
)
SELECT '浏览' AS stage,COUNT(*) AS uv,NULL AS conversion_rate
FROM funnel_base
WHERE has_pv = 1UNION ALLSELECT '加购' AS stage,COUNT(*) AS uv,ROUND(COUNT(*)::NUMERIC / (SELECT COUNT(*) FROM funnel_base WHERE has_pv = 1), 4) AS conversion_rate
FROM funnel_base
WHERE has_cart = 1UNION ALLSELECT '下单' AS stage,COUNT(*) AS uv,ROUND(COUNT(*)::NUMERIC / (SELECT COUNT(*) FROM funnel_base WHERE has_cart = 1), 4) AS conversion_rate
FROM funnel_base
WHERE has_order = 1UNION ALLSELECT '支付' AS stage,COUNT(*) AS uv,ROUND(COUNT(*)::NUMERIC / (SELECT COUNT(*) FROM funnel_base WHERE has_order = 1), 4) AS conversion_rate
FROM funnel_base
WHERE has_pay = 1;

3.3 结果展示

在这里插入图片描述
在这里插入图片描述

四、多维度分析

4.1 按商品类目分析

-- 创建商品类目表(存储类目ID与名称的映射)
CREATE TABLE IF NOT EXISTS product_category (category_id BIGINT PRIMARY KEY,  -- 类目ID(与unique_user_behavior的category_id关联)category_name VARCHAR(50) NOT NULL  -- 类目名称(如"电子产品"、"服装"等)
);-- 插入10个模拟类目(假设unique_user_behavior的category_id范围是1-10)
INSERT INTO product_category (category_id, category_name)
VALUES(1, '电子产品'),(2, '服装鞋包'),(3, '家居用品'),(4, '美妆个护'),(5, '母婴玩具'),(6, '食品饮料'),(7, '图书音像'),(8, '运动户外'),(9, '汽车用品'),(10, '办公用品');-- 统计各商品类目漏斗转化率
WITH category_funnel AS (SELECT category_id,user_id,MAX(CASE WHEN event_type = 'pv' THEN 1 ELSE 0 END) AS has_pv,MAX(CASE WHEN event_type = 'cart' THEN 1 ELSE 0 END) AS has_cart,MAX(CASE WHEN event_type = 'order' THEN 1 ELSE 0 END) AS has_order,MAX(CASE WHEN event_type = 'pay' THEN 1 ELSE 0 END) AS has_payFROM unique_user_behaviorGROUP BY category_id, user_id
),
-- 子查询:先计算各阶段UV(生成别名)
funnel_metrics AS (SELECT c.category_name,COUNT(DISTINCT CASE WHEN has_pv = 1 THEN user_id END) AS pv_uv,COUNT(DISTINCT CASE WHEN has_cart = 1 THEN user_id END) AS cart_uv,COUNT(DISTINCT CASE WHEN has_order = 1 THEN user_id END) AS order_uv,COUNT(DISTINCT CASE WHEN has_pay = 1 THEN user_id END) AS pay_uvFROM category_funnel cfJOIN product_category c ON cf.category_id = c.category_idGROUP BY c.category_name
)
-- 外部查询:使用子查询的别名计算转化率
SELECT category_name,pv_uv,cart_uv,order_uv,pay_uv,ROUND(cart_uv::NUMERIC / NULLIF(pv_uv, 0), 4) AS cart_conversion,ROUND(order_uv::NUMERIC / NULLIF(cart_uv, 0), 4) AS order_conversion,ROUND(pay_uv::NUMERIC / NULLIF(order_uv, 0), 4) AS pay_conversion
FROM funnel_metrics
ORDER BY category_name;

在这里插入图片描述

4.2 按用户类型分析

-- 区分新老用户漏斗转化率
WITH user_type_funnel AS (SELECT u.user_id,u.user_type,MAX(CASE WHEN event_type = 'pv' THEN 1 ELSE 0 END) AS has_pv,MAX(CASE WHEN event_type = 'cart' THEN 1 ELSE 0 END) AS has_cart,MAX(CASE WHEN event_type = 'order' THEN 1 ELSE 0 END) AS has_order,MAX(CASE WHEN event_type = 'pay' THEN 1 ELSE 0 END) AS has_payFROM unique_user_behavior ubJOIN user_profile u ON ub.user_id = u.user_idGROUP BY u.user_id, u.user_type
),
-- 子查询:先计算各阶段UV(生成别名)
funnel_metrics AS (SELECT user_type,COUNT(DISTINCT CASE WHEN has_pv = 1 THEN user_id END) AS pv_uv,COUNT(DISTINCT CASE WHEN has_cart = 1 THEN user_id END) AS cart_uv,COUNT(DISTINCT CASE WHEN has_order = 1 THEN user_id END) AS order_uv,COUNT(DISTINCT CASE WHEN has_pay = 1 THEN user_id END) AS pay_uvFROM user_type_funnelGROUP BY user_type
)
-- 外部查询:使用子查询的别名计算转化率
SELECT user_type,pv_uv,cart_uv,order_uv,pay_uv,ROUND(cart_uv::NUMERIC / NULLIF(pv_uv, 0), 4) AS cart_conversion,  -- 防除零错误ROUND(order_uv::NUMERIC / NULLIF(cart_uv, 0), 4) AS order_conversion,ROUND(pay_uv::NUMERIC / NULLIF(order_uv, 0), 4) AS pay_conversion
FROM funnel_metrics
ORDER BY user_type;

在这里插入图片描述

五、可视化展示

5.1 漏斗图

使用Apache Superset生成漏斗图,直观展示各阶段转化率:

-- 生成漏斗图数据
-- 定义funnel_base CTE(统计用户各阶段行为标记)
WITH funnel_base AS (SELECT user_id,MAX(CASE WHEN event_type = 'pv' THEN 1 ELSE 0 END) AS has_pv,  -- 标记是否浏览MAX(CASE WHEN event_type = 'cart' THEN 1 ELSE 0 END) AS has_cart,  -- 标记是否加购MAX(CASE WHEN event_type = 'order' THEN 1 ELSE 0 END) AS has_order,  -- 标记是否下单MAX(CASE WHEN event_type = 'pay' THEN 1 ELSE 0 END) AS has_pay  -- 标记是否支付FROM unique_user_behavior  -- 依赖的用户行为表(需提前创建)GROUP BY user_id  -- 按用户分组统计
)
-- 主查询:生成漏斗阶段UV数据
SELECT '浏览' AS stage,COUNT(DISTINCT CASE WHEN has_pv = 1 THEN user_id END) AS uv
FROM funnel_baseUNION ALL
SELECT '加购' AS stage,COUNT(DISTINCT CASE WHEN has_cart = 1 THEN user_id END) AS uv
FROM funnel_baseUNION ALL
SELECT '下单' AS stage,COUNT(DISTINCT CASE WHEN has_order = 1 THEN user_id END) AS uv
FROM funnel_baseUNION ALL
SELECT '支付' AS stage,COUNT(DISTINCT CASE WHEN has_pay = 1 THEN user_id END) AS uv
FROM funnel_base;

在这里插入图片描述

5.2 转化率趋势图

通过折线图展示各阶段转化率随时间的变化:

-- 按天统计转化率
-- 使用公共表表达式 (CTE) 先计算每日各环节的独立用户数(UV)
WITH daily_uv AS (SELECT -- 按天截断事件时间,作为统计日期(格式:年-月-日 00:00:00)DATE_TRUNC('day', event_time) AS event_date,-- 计算「浏览」行为的独立用户数:当事件类型为 'pv' 时,统计去重的用户IDCOUNT(DISTINCT CASE WHEN event_type = 'pv' THEN user_id END) AS pv_uv,-- 计算「加购」行为的独立用户数:当事件类型为 'cart' 时,统计去重的用户IDCOUNT(DISTINCT CASE WHEN event_type = 'cart' THEN user_id END) AS cart_uv,-- 计算「下单」行为的独立用户数:当事件类型为 'order' 时,统计去重的用户IDCOUNT(DISTINCT CASE WHEN event_type = 'order' THEN user_id END) AS order_uv,-- 计算「支付」行为的独立用户数:当事件类型为 'pay' 时,统计去重的用户IDCOUNT(DISTINCT CASE WHEN event_type = 'pay' THEN user_id END) AS pay_uvFROM unique_user_behavior  -- 从用户行为明细表取数-- 按统计日期分组(必须与 DATE_TRUNC 结果一致)GROUP BY DATE_TRUNC('day', event_time)
)
-- 主查询:计算各环节转化率
SELECT event_date,  -- 统计日期pv_uv,       -- 浏览环节独立用户数cart_uv,     -- 加购环节独立用户数order_uv,    -- 下单环节独立用户数pay_uv,      -- 支付环节独立用户数-- 加购转化率:加购UV / 浏览UV(保留4位小数,避免除零错误)ROUND(cart_uv::NUMERIC / NULLIF(pv_uv, 0), 4) AS cart_conversion,-- 下单转化率:下单UV / 加购UV(保留4位小数,避免除零错误)ROUND(order_uv::NUMERIC / NULLIF(cart_uv, 0), 4) AS order_conversion,-- 支付转化率:支付UV / 下单UV(保留4位小数,避免除零错误)ROUND(pay_uv::NUMERIC / NULLIF(order_uv, 0), 4) AS pay_conversion
FROM daily_uv  -- 从CTE结果中取数
ORDER BY event_date;  -- 按日期升序排列,便于观察时间趋势

在这里插入图片描述

六、瓶颈识别与优化建议

6.1 瓶颈分析

  • 加购到下单转化率低(53.33%):可能原因包括结算流程复杂、价格敏感、库存不足
  • 新用户转化率显著低于老用户:需优化新用户引导流程

6.2 优化策略

    1. 简化结算流程减少必填字段,增加一键支付功能
    1. 价格促销:对加购未下单用户推送限时优惠券
    1. 库存预警实时显示库存状态,避免超卖
    1. 新用户激励:提供新人专享折扣,优化首单体验

七、性能优化与工具整合

7.1 索引优化

-- 创建时间字段索引
CREATE INDEX idx_event_time ON unique_user_behavior (event_time);-- 创建用户ID索引
CREATE INDEX idx_user_id ON unique_user_behavior (user_id);

7.2 工具整合

    1. 数据清洗:使用Python的pandas库进行初步清洗
    1. 可视化:通过Apache Superset或Tableau生成动态报表
    • 说明: Apache Superset针对该工具分析,其他专栏做专项分享(后续排期ing)
    1. 自动化:利用Airflow调度定时分析任务

八、总结

通过PostgreSQL构建的流量转化漏斗分析模型,

  • 能够高效处理大规模用户行为数据,结合多维度分析和可视化工具,精准定位业务瓶颈。
  • 企业可根据分析结果针对性优化运营策略,提升整体转化率和用户价值。

相关文章:

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】电商数据分析案例-9.2 流量转化漏斗分析

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 9.2 流量转化漏斗分析&#xff1a;从数据清洗到可视化全流程实战一、背景与目标二、数据准备与清洗2.1 数据来源与字段说明2.2 数据清洗步骤2.2.1 去除无效数据2.2.2 处理时…...

结合Splash与Scrapy:高效爬取动态JavaScript网站

在当今的Web开发中&#xff0c;JavaScript的广泛应用使得许多网站的内容无法通过传统的请求-响应模式直接获取。为了解决这个问题&#xff0c;Scrapy开发者经常需要集成像Splash这样的JavaScript渲染引擎。本文将详细介绍Splash JS引擎的工作原理&#xff0c;并探讨如何将其与S…...

[计算机科学#10]:早期的计算机编程方式

【核知坊】&#xff1a;释放青春想象&#xff0c;码动全新视野。 我们希望使用精简的信息传达知识的骨架&#xff0c;启发创造者开启创造之路&#xff01;&#xff01;&#xff01; 内容摘要&#xff1a;1804年&#xff0c;为了在织布机上编织出丰富多彩的…...

JAVA:Spring Boot 集成 Lua 的技术博客

1、简述 在现代开发中,Lua 以其轻量级、高性能以及易嵌入的特点广泛用于脚本扩展、游戏开发以及配置处理场景。将 Lua 与 Spring Boot 集成,可以在 Java 项目中实现动态脚本功能,增强项目的灵活性和动态配置能力。 样例代码: https://gitee.com/lhdxhl/springboot-example…...

代码随想录算法训练营 Day40 动态规划Ⅷ 股票问题

动态规划 题目 121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; 使用二维 dp 数组表示 1. dp[i][0] 表示持有股票的最大金额&#xff0c;dp[i][1] 表示不持有股票的最大金额&#xff0c;表示盈利结果 2. 递推公式由前一天持有金额和是否买股票决定 决定是否…...

【已解决】WORD域相关问题;错误 未找到引用源;复制域出错;交叉引用域到底是个啥

&#xff08;微软赶紧倒闭 所有交叉引用域&#xff0c;有两个状态&#xff1a;1.锁定。2.手动。可通过编辑->链接查看。 “锁定”状态域的能力&#xff1a; 1. 导出PDF格式稳定&#xff08;【已解决】WORD导出PDF时&#xff0c;参考文献上标自动被取消/变为正常文本_word…...

小米 MiMo 开源:7B 参数凭什么 “叫板” AI行业巨头?

目录 一、技术革命的起点&#xff1a;小米AI战略的“破局者” 1.1 战略背景&#xff1a;从硬件厂商到AI基础设施提供商 1.2 团队揭秘&#xff1a;“天才少女”罗福莉与小米AI梦之队 二、技术架构解析&#xff1a;7B参数如何实现“推理跃迁” 2.1 核心技术原理 2.2 技术指…...

构建高可用性的LVS-DR群集:实现无缝的负载均衡与故障转移

目录 一、LVS-DR集群 1.LVS-DR工作原理 2.数据包流向分析 3.LVS-DR模式特点 二、直接路由模式&#xff08;LVS-DR&#xff09; 1.资源清单 2.配置负载调度器(lvs) 3.配置节点服务器(web1、web2) 4.测试LVS群集 5.使用NFS发布共享资源&#xff08;nfs上&#xff09; …...

低光图像增强新色彩空间HVI:技术突破与创新解析(HVI: ANewColor Space for Low-light Image Enhancement)

摘要 低光图像增强&#xff08;LLIE&#xff09;是计算机视觉领域的关键任务&#xff0c;旨在从受损的低光图像中恢复细节信息。针对现有方法在标准RGB&#xff08;sRGB&#xff09;空间易产生色偏与亮度伪影的问题&#xff0c;以及HSV色彩空间转换引发的红/黑噪声问题&#xf…...

Abaqus学习笔记

目录 Abaqus介绍 学习资源 ​编辑Abaqus/CAE abaqus下载安装 abaqus基本操作 Abaqus启动 新建模型 ​编辑 ​编辑修改界面背景 ​编辑​编辑结果信息的显示与否 ​编辑计算结果信息字体设置 ​编辑允许多绘图状态 单位量纲 视图操作 事前说明 ODB文件 本构关系…...

AquaCrop 模型新视角:多技术助力农业精准水管理

技术点目录 模型原理介绍与数据要求及模型分析数据制备、模型运行与案例实践&#xff08;界面GUI版本&#xff09;模型优化与敏感性分析&#xff08;基于R语言实践&#xff09;源代码分析&#xff08;基于FORTRAN&#xff09;未来气候变化影响分析与案例实践&#xff08;基于Py…...

从知识图谱到精准决策:基于MCP的招投标货物比对溯源系统实践

前言 从最初对人工智能的懵懂认知,到逐渐踏入Prompt工程的世界,我们一路探索,从私有化部署的实际场景,到对DeepSeek技术的全面解读,再逐步深入到NL2SQL、知识图谱构建、RAG知识库设计,以及ChatBI这些高阶应用。一路走来,我们在AI的领域里一步一个脚印,不断拓展视野和能…...

【平面波导外腔激光器专题系列】1064nm单纵模平面波导外腔激光器‌

摘要&#xff1a;我们介绍了平面波导外腔二极管激光器 (PW-ECL) 的特性。据我们所知&#xff0c;这是第一款蝶形封装的 1064nm半导体激光器&#xff0c;其可以稳定锁定到外部参考频率。我们从精密实验的角度评估了它的性能&#xff0c;特别是使用碘的超精细吸收线&#xff0c;在…...

C++ 算法学习之旅:从入门到精通的秘籍

在编程的浩瀚宇宙中&#xff0c;C 算法宛如璀璨的星辰&#xff0c;照亮我们前行的道路。作为一名 C 算法小白&#xff0c;或许你和我一样&#xff0c;怀揣着对算法的好奇与憧憬&#xff0c;却又在学习的道路上感到迷茫。别担心&#xff0c;今天我就和大家分享一下如何学习各种基…...

按摩椅上的气囊系统 是现代按摩椅中非常关键的组成部分,它与机芯系统相辅相成,为用户提供全方位、更接近真人按摩的体验

按摩椅上的气囊系统是现代按摩椅中非常关键的组成部分&#xff0c;它与机芯系统相辅相成&#xff0c;为用户提供全方位、更接近真人按摩的体验。 一、按摩椅气囊的产生背景 1. 传统按摩方式的局限 早期的按摩椅主要依赖机械式的“凸轮电机”或简单的机芯滚轮结构&#xff0c;…...

配置Hadoop集群环境-使用脚本命令实现集群文件同步

&#xff08;一&#xff09;Hadoop的运行模式 hadoop一共有如下三种运行方式&#xff1a; 1. 本地运行。数据存储在linux本地&#xff0c;测试偶尔用一下。我们上一节课使用的就是本地运行模式hadoop100。 2. 伪分布式。在一台机器上模拟出 Hadoop 分布式系统的各个组件&…...

Linux系统(OpenEuler22.03-LTS)部署FastGPT

在 openEuler 22.03 LTS 系统上通过 Docker Compose 安装 FastGPT 的步骤如下&#xff1a; 官方参考文档&#xff1a;https://doc.fastgpt.cn/docs/development/docker/ 1. 安装 Docker 和 Docker Compose 可以参考我之前离线安装Docker的文章&#xff1a;openEuler 22.03 LT…...

FastExcel 本地开发和Linux上上传Resource文件的差异性

不能直接通过路径来获取 这个是一个下载导出文件的操作 GetMapping(value "/export/all") public void exportAll(HttpServletResponse response, LaylineListReq req) throws IOException {// 从类路径下获取 Excel 文件资源ClassPathResource classPathResource…...

Excel学习笔记

在excel表格中&#xff0c;某列的数据最大&#xff0c;则整行都红色底色标出&#xff0c;怎么实现&#xff1f; 更改x值&#xff0c;excel图表上动态显示 该值的Y值且动态显示十字交叉线 为了实现如下图所示的效果&#xff0c;需要做出几个辅助列就行。 step1&#xff1a;先写…...

数据中台-数仓分层结构【Doris】

数据仓库采用Doris进行搭建&#xff0c;并分为ODS/DWD/DWM/DWS/ADS等层级结构进行分层数据存储。Doris是百度开源的MPP数据库&#xff0c;可有效支撑大数据量的数据计算和分布式扩展存储。 数据仓库分层架构设计目标 解耦与复用性&#xff1a;通过分层隔离原始数据与业务逻辑&a…...

使用Jmeter对AI模型服务进行压力测试

一、JMeter介绍 Apache JMeter 是一款开源的性能测试工具&#xff0c;主要用于评估Web应用程序的负载和性能。它支持多种类型的测试&#xff0c;包括但不限于&#xff1a; 负载测试&#xff1a;模拟大量用户访问系统以检测其在高负载下的表现。性能测试&#xff1a;评估系统在…...

测试用例管理平台哪些好用?9款主流测试平台对比

在当今软件开发领域&#xff0c;测试用例管理平台已成为提升产品质量和团队协同效率的关键工具。本文将围绕“测试用例管理平台”这一核心关键词&#xff0c;全面解析市面上9款主流产品&#xff0c;帮助企业管理者和测试团队快速了解各平台的核心优势和适用场景&#xff0c;从而…...

C++函数传值与传引用对比分析

在C编程中&#xff0c;函数参数传递的方式直接影响程序的性能、内存管理以及代码逻辑的正确性。传值&#xff08;Pass by Value&#xff09;和传引用&#xff08;Pass by Reference&#xff09;是两种最常用的参数传递方式&#xff0c;它们各有优缺点&#xff0c;适用于不同的场…...

【se-res模块学习】结合CIFAR-10分类任务学习

继CIFAR-10图像分类&#xff1a;【Res残差连接学习】结合CIFAR-10任务学习-CSDN博客 再优化 本次训练结果在测试集上的准确率表现可达到90%以上 1.训练模型&#xff08;MyModel.py&#xff09; import torch import torch.nn as nnclass SENet(nn.Module): # SE-Net模块def…...

二元随机响应(Binary Randomized Response, RR)的翻转概率

随机响应&#xff08;Randomized Response&#xff09;机制 ✅ 回答核心&#xff1a; p 1 1 e ε 才是「翻转概率」 \boxed{p \frac{1}{1 e^{\varepsilon}}} \quad \text{才是「翻转概率」} p1eε1​​才是「翻转概率」 而&#xff1a; q e ε 1 e ε 是「保留真实值」…...

湖北理元理律师事务所:债务优化中的“生活保障”方法论

债务危机往往伴随生活质量骤降&#xff0c;如何在还款与生存间找到平衡点&#xff0c;成为债务优化的核心挑战。湖北理元理律师事务所基于多年实务经验&#xff0c;提出“双轨并行”策略&#xff1a;法律减负与生活保障同步推进。 债务优化的“温度法则” 1.生存资金预留机制…...

RFID智能书柜:精准定位,找书告别 “大海捞针”

在传统图书馆的浩瀚书海&#xff0c;找书无异于在错综复杂的迷宫里徘徊。读者在书架间来回奔波&#xff0c;耗费大量时间精力&#xff0c;还常一无所获。RFID智能书柜的出现&#xff0c;彻底改写了这一局面。它搭载的RFID读写器与天线协同工作&#xff0c;能实时精准定位贴有RF…...

视觉图像处理及多模态融合初探

(一)指标汇总 1. 图像采集与质量提升 指标描述可能的量化值图像清晰度反映图像中物体的边缘和细节的清晰程度例如:1-10 分(1 为极不清晰,10 为非常清晰)噪声水平表示图像中随机噪声的多少例如:噪声强度百分比(0%-100%)畸变程度描述图像中物体形状的变形程度例如:畸变…...

射频前端模组芯片(PA)三伍微电子GSR2337 兼容替代SKY85337, RTC7646, KCT8247HE

射频前端模组芯片&#xff08;PA&#xff09;三伍微电子GSR2337 兼容替代SKY85337, RTC7646, KCT8247HE 型号GSR2337 ‌频率‌: 2.4 GHz ‌类型‌: FEM (PALNASW) ‌WIFI‌: 11n/ac/ax ‌功率‌: 21dBmEVM-43dB5V ‌封装‌: 3*3 mm ‌电压‌: 3.3V & 5V ‌P2P‌: SKY85…...

python 接收c++的.so传的jsoncpp字符串

叮&#xff01;快来看看我和文心一言的奇妙对话&#xff5e;点击链接 https://yiyan.baidu.com/share/57o6vGa3GY -- 文心一言&#xff0c;既能写文案、读文档&#xff0c;又能绘画聊天、写诗做表&#xff0c;你的全能伙伴&#xff01; 要从 C 动态链接库 (.so 文件) 中接收 JS…...

EasyRTC嵌入式音视频通话SDK驱动智能硬件音视频应用新发展

一、引言 在数字化浪潮下&#xff0c;智能硬件蓬勃发展&#xff0c;从智能家居到工业物联网&#xff0c;深刻改变人们的生活与工作。音视频通讯作为智能硬件交互与协同的核心&#xff0c;重要性不言而喻。但嵌入式设备硬件资源受限&#xff0c;传统音视频方案集成困难。EasyRT…...

Day19 常见的特征筛选算法

常见的特征筛选算法 1. 方差筛选 原理 &#xff1a;方差衡量的是数据的离散程度。在特征筛选中&#xff0c;如果某个特征的方差很小&#xff0c;说明该特征在不同样本上的值差异不大&#xff0c;那么它对模型的区分能力可能很弱。方差筛选就是通过设定一个方差阈值&#xff0…...

如何使用极狐GitLab 软件包仓库功能托管 terraform?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 Terraform 模块库 (BASIC ALL) 基础设施仓库和 Terraform 模块仓库合并到单个 Terraform 模块仓库功能引入于极狐GitLab 15.1…...

15前端项目----用户信息/导航守卫

登录/注册 持久存储用户信息问题 退出登录导航守卫解决问题 持久存储用户信息 本地存储&#xff1a;&#xff08;在actions中请求成功时&#xff09; 添加localStorage.setItem(token,result.data.token);获取存储&#xff1a;&#xff08;在user仓库中&#xff0c;state中tok…...

重定向及基础实验

1.if指令 if (判断条件){ 执行语句; } if的正则表达式 #比较变量和字符串是否相等&#xff0c;相等时if指令认为该条件为true&#xff0c;反之为false ! #比较变量和字符串是否不相等&#xff0c;不相等时if指令认为条件为true&#xff0c;反之为false ~ #区分大小写字符&…...

CBO和HBO区别及介绍

CBO&#xff08;Cost-Based Optimizer&#xff09;和 HBO&#xff08;Heuristic-Based Optimizer&#xff09;是两种数据库查询优化器的类型&#xff0c;它们在优化策略和实现方式上有显著的区别。以下是详细的解释和对比&#xff1a; 1. CBO&#xff08;Cost-Based Optimizer…...

华为HCIP-AI认证考试版本更新通知

​华为HCIP-AI认证考试版本更新通知​ ​HCIP-AI-EI Developer V2.5认证发布​ 华为官方宣布&#xff0c;​HCIP-AI-EI Developer V2.5认证考试将于2025年3月31日正式上线。新版认证聚焦AI工程化开发与行业实践&#xff0c;新增大模型部署优化、AI边缘计算等前沿技术内容&…...

【算法-链表】链表操作技巧:常见算法

算法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;双指针滑动窗口二分查找前缀和位运算模拟 链表是一种灵活的数据结构&#xff0c;广泛用于需要频繁插入和删除的场景。掌握链表的常见操作技巧&#xff0c;如插入、删除、翻转和合并等&#xff0c;能帮助开发者更…...

【探寻C++之旅】第十三章:红黑树

请君浏览 前言1. 红黑树的概念1.2 红黑树的规则1.3 红黑树如何确保最长路径不超过最短路径的两倍&#xff1f;1.4 红黑树的效率 2. 红黑树的实现2.1 红黑树的结构2.2 红黑树的插入情况1&#xff1a;变色情况2&#xff1a;单旋变色情况2&#xff1a;双旋变色代码演示 2.3 红黑树…...

JavaScript 性能优化全攻略:从基础到实战

引言 在现代 Web 开发中,JavaScript 作为核心语言,其性能直接影响用户体验。无论是单页应用(SPA)还是复杂交互页面,性能优化始终是开发者关注的核心。 本文将从基础策略、最新技巧、常见误区和实战案例四个维度,系统性地解析 JavaScript 性能优化的关键方法,并提供可复…...

Kafka消息队列之 【消费者分组】 详解

消费者分组(Consumer Group)是 Kafka 提供的一种强大的消息消费机制,它允许多个消费者协同工作,共同消费一个或多个主题的消息,从而实现高吞吐量、可扩展性和容错性。 基本概念 消费者分组:一组消费者实例的集合,这些消费者实例共同订阅一个或多个主题,并通过分组来协调…...

HuggingFace与自然语言处理(从框架学习到经典项目实践)[ 01 API操作 ]

本教程适用与第一次接触huggingface与相应框架和对nlp任务感兴趣的朋友&#xff0c;该栏目目前更新总结如下&#xff1a; ​​Tokenizer​​&#xff1a; 支持单句/双句编码&#xff0c;自动处理特殊符号和填充。 批量编码提升效率&#xff0c;适合训练数据预处理。Datasets​…...

uniapp-文件查找失败:‘@dcloudio/uni-ui/lib/uni-icons/uni-icons.vue‘

uniapp-文件查找失败&#xff1a;‘dcloudio/uni-ui/lib/uni-icons/uni-icons.vue’ 今天在HBuilderX中使用uniapp开发微信小程序时遇到了这个问题&#xff0c;就是找不到uni-ui组件 当时创建项目&#xff0c;选择了一个中间带的底部带选项卡模板&#xff0c;并没有选择内置u…...

springboot+vue实现在线网盘(云盘)系统

今天教大家如何设计一个网盘&#xff08;云盘&#xff09;系统系统 , 基于目前主流的技术&#xff1a;前端vue&#xff0c;后端springboot。 同时还带来的项目的部署教程。 视频演示 springbootvue实现在线网盘&#xff08;云盘&#xff09;系统 图片演示 一. 系统概述 用过百…...

启智平台调试 qwen3 4b ms-swift

以上设置完成后&#xff0c;我们点击新建任务。等待服务器创建和分配资源。 资源分配完成后我们看到如下列表&#xff0c;看到资源running状态&#xff0c;后面有一个调试按钮&#xff0c;后面就可以进入代码调试窗体界面了。 点击任务名称 跳转 访问github失败 加速器开启…...

KAXA凯莎科技AGV通信方案如何赋能智能仓储高效运作?

AGV智慧物流系统融合了先进的自动导航技术和智能控制算法&#xff0c;通过激光雷达、摄像头、激光传感器等多种感知设备&#xff0c;实现仓库内的精准定位与自主导航。系统具备环境实时感知能力&#xff0c;能够动态避障&#xff0c;并基于任务调度智能规划最优路径&#xff0c…...

【AI提示词】费曼学习法导师

提示说明 精通费曼学习法的教育专家&#xff0c;擅长通过知识解构与重构提升学习效能。 提示词 Role: 费曼学习法导师 Profile language: 中文description: 精通费曼学习法的教育专家&#xff0c;擅长通过知识解构与重构提升学习效能background: 认知科学硕士背景&#xff0…...

体绘制中的传输函数(transfer func)介绍

文章目录 VTK volume不透明度传输函数梯度不透明度传输函数颜色传输函数VTK volume VTK (Visualization Toolkit) 中的 Volume(体积)是一个重要的概念,特别是在处理和可视化三维数据时。以下是 VTK Volume 的一些关键概念: 定义: Volume 在 VTK 中代表一个三维数据集,通…...

Algolia - Docsearch的申请配置安装【以踩坑解决版】

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;CSDN博客专家   &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01…...

【文档智能】开源的阅读顺序(Layoutreader)模型使用指南

一年前&#xff0c;笔者基于开源了一个阅读顺序模型&#xff08;《【文档智能】符合人类阅读顺序的文档模型-LayoutReader及非官方权重开源》&#xff09;&#xff0c; PDF解析并结构化技术路线方案及思路&#xff0c;文档智能专栏 阅读顺序检测旨在捕获人类读者能够自然理解的…...