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

佛山微信网站开发易语言网站开发教程

佛山微信网站开发,易语言网站开发教程,平台骗了钱,金山做企业网站目录 一、数据采集与初步探索 二、数据清洗的七种武器 1. 缺失值处理策略 2. 异常值检测与修正 3. 数据类型转换技巧 三、数据转换的魔法工坊 1. 透视表与交叉表 2. 窗口函数实战 3. 文本数据处理 四、可视化呈现的艺术 1. 基础图表进阶用法 2. 高级可视化方案 3.…

目录

一、数据采集与初步探索

二、数据清洗的七种武器

1. 缺失值处理策略

2. 异常值检测与修正

3. 数据类型转换技巧

三、数据转换的魔法工坊

1. 透视表与交叉表

2. 窗口函数实战

3. 文本数据处理

四、可视化呈现的艺术

1. 基础图表进阶用法

2. 高级可视化方案

3. 可视化设计原则

五、实战案例:电商用户行为分析

1. 业务场景

2. 分析流程

3. 关键发现

六、部署与交付


一、数据采集与初步探索

在真实场景中,数据往往以"脏乱差"的形态出现。某电商平台的用户行为日志可能包含缺失的商品ID、异常的点击时间戳,甚至混杂测试数据。面对这样的原始数据,我们首先需要建立数据探查的"三板斧":

import pandas as pd# 读取CSV文件时自动推断数据类型
df = pd.read_csv('sales_data.csv', parse_dates=['order_date'])# 基础信息概览
print(df.info())        # 内存占用、非空值统计
print(df.describe())    # 数值列统计指标
print(df.head(3))       # 预览前3行结构

通过这三行代码,可以快速获取数据全貌。当发现order_date列存在NaT(缺失时间戳)时,需要结合业务场景判断:是数据采集遗漏,还是用户未完成支付的中间状态?

二、数据清洗的七种武器

1. 缺失值处理策略

# 删除策略:当某列缺失率超过80%时
df.dropna(thresh=len(df)*0.2, axis=1, inplace=True)# 填充策略:时间序列用前向填充
df['price'].fillna(method='ffill', inplace=True)# 业务填充:用户年龄用中位数,地区用众数
df['age'].fillna(df['age'].median(), inplace=True)
df['region'].fillna(df['region'].mode()[0], inplace=True)

2. 异常值检测与修正

# 3σ原则检测数值异常
z_scores = (df['price'] - df['price'].mean()) / df['price'].std()
df = df[(z_scores > -3) & (z_scores < 3)]# 箱线图可视化辅助判断
import seaborn as sns
sns.boxplot(x=df['price'])

3. 数据类型转换技巧

# 字符串转分类变量
df['product_category'] = df['product_category'].astype('category')# 拆分复合字段
df[['province', 'city']] = df['location'].str.split('/', expand=True)# 时间戳特征工程
df['hour'] = df['order_time'].dt.hour
df['weekday'] = df['order_time'].dt.weekday

三、数据转换的魔法工坊

1. 透视表与交叉表

# 构建销售透视表
pivot = df.pivot_table(index='region', columns='product_category',values='amount',aggfunc='sum',fill_value=0
)# 交叉表分析用户行为
cross = pd.crosstab(df['device_type'],df['purchase_flag'],normalize='index'
)

2. 窗口函数实战

# 计算移动平均销量
df['rolling_avg'] = df.groupby('product_id')['sales'].transform(lambda x: x.rolling(7, min_periods=1).mean()
)# 排名函数应用
df['sales_rank'] = df.groupby('region')['sales'].rank(ascending=False)

3. 文本数据处理

# 正则表达式清洗
df['clean_comment'] = df['raw_comment'].str.replace(r'[^a-zA-Z0-9\s]', '')# 词频统计基础
from collections import Counter
word_counts = Counter(' '.join(df['clean_comment']).split())

四、可视化呈现的艺术

1. 基础图表进阶用法

import matplotlib.pyplot as plt# 双Y轴组合图表
fig, ax1 = plt.subplots(figsize=(10,6))
ax1.plot(df['date'], df['sales'], 'b-', label='销售额')
ax2 = ax1.twinx()
ax2.plot(df['date'], df['conversion_rate'], 'r--', label='转化率')# 动态标注极值点
max_idx = df['sales'].idxmax()
ax1.annotate(f'峰值: {df.loc[max_idx,"sales"]}',xy=(max_idx, df.loc[max_idx,"sales"]),xytext=(max_idx-3, df.loc[max_idx,"sales"]*0.9),arrowprops=dict(arrowstyle='->'))

2. 高级可视化方案

import plotly.express as px# 交互式热力图
fig = px.density_heatmap(df, x='order_hour', y='day_of_week',z='order_count',title='订单时间分布热力图'
)
fig.show()# 桑基图展示用户流转
fig = px.sankey(df,node={'label': ['访问','加购','下单','支付'],'color': ['lightblue','lightgreen','orange','red']},source=[0,0,1,1,2],target=[1,2,2,3,3],value=[800,200,150,50,100]
)

3. 可视化设计原则

  • 色彩方案:使用ColorBrewer等工具选择色盲友好配色
  • 字体选择:西文用Arial/Helvetica,中文用思源黑体
  • 图表尺寸:根据展示媒介调整,PPT推荐16:9,A4报告用5:3
  • 动态效果:交互式图表添加悬停提示、范围筛选器

五、实战案例:电商用户行为分析

1. 业务场景

某电商平台发现转化率下降,需要从用户行为数据中定位问题。数据集包含200万条用户行为日志,字段包括用户ID、商品ID、行为类型(点击/收藏/加购/购买)、时间戳等。

2. 分析流程

# 数据读取优化
df = pd.read_parquet('user_behavior.parquet', engine='pyarrow')# 行为路径分析
behavior_flow = df.groupby(['user_id'])['behavior_type'].apply(lambda x: '/'.join(x.unique())
).value_counts().sort_index()# 漏斗转化计算
funnel = df[df['behavior_type'].isin(['click','cart','buy'])].groupby('session_id'
)['behavior_type'].agg(lambda x: '/'.join(x)).value_counts()# 绘制漏斗图
from pyecharts.charts import Funnel
funnel = Funnel()
funnel.add("转化路径", [list(z) for z in zip(funnel.index, funnel.values)],sort_="descending",label_opts={"position": "inside"})
funnel.render("conversion_funnel.html")

3. 关键发现

  • 移动端用户加购转化率比PC端低15%
  • 夜间22-24点的点击购买转化率最高
  • 商品详情页加载时间超过3秒会导致30%的用户流失

六、部署与交付

  • 自动化报告:使用Jupyter Notebook的nbconvert生成HTML报告
  • 仪表盘开发:将关键图表集成到Streamlit/Dash应用
  • 数据API:用FastAPI封装分析逻辑,提供实时查询接口
  • 文档编写:使用Markdown记录分析逻辑,插入可交互图表

通过这种从数据采集到可视化交付的完整链路,即使面对TB级电商数据,也能高效完成从数据清洗到业务洞察的全流程。关键在于将每个处理步骤封装成可复用的函数模块,配合适当的自动化工具,使数据分析真正成为业务决策的加速器。

http://www.dtcms.com/a/585761.html

相关文章:

  • 从零搭建PyTorch计算机视觉模型
  • 培训课程网站建设淮阳 网站建设
  • 服务器为何成为网络攻击的“重灾区“?
  • Linux rcu机制
  • ES 总结
  • j集团公司的网站建设石家庄百度推广优化排名
  • k8s-node-NotReady后如何保证服务可用
  • 5-GGML:看一下CUDA加法算子!
  • 做网站优化需要做哪些事项wordpress圆圈特效
  • 濮阳网站建设费用网站怎样做外链
  • Docker 部署 Java 项目实践
  • Git push/pull 避坑指南:什么时候加 origin?什么时候不用加?
  • Ubuntu22.04系统中各文件目录的作用
  • 49_AI智能体核心业务之使用Flask蓝图模块化AI智能体服务:构建可维护的RESTful API
  • 网站建设教程数据库网站开发兼职成都
  • 网站 空间 下载行情网免费网站大全
  • 深度学习实战(基于pytroch)系列(五)线性回归的pytorch实现
  • 玩转Rust高级应用. ToOwned trait 提供的是一种更“泛化”的Clone 的功能,Clone一般是从T类型变量创造一个新的T类型变量
  • 11.8 脚本网页 推箱子
  • 网站建设要钱么深圳一百讯网站建设
  • [Java算法] 双指针(1)
  • 江苏省建设厅网站官网湖南做网站最厉害的公司
  • 杭州家具网站建设方案郑州app开发价格
  • gdb调试命令和GDB 到 LLDB 命令映射
  • 【CUDA笔记】02 CUDA GPU 架构与一般的程序优化思路(上)
  • 198种组合算法+优化XGBoost+SHAP分析+新数据预测!机器学习可解释分析,强烈安利,粉丝必备!
  • 东莞做网站要多少钱安顺建设局网站官网
  • 在线做h5 的网站网站服务器怎么查询
  • Vue 项目实战《尚医通》,展示已有医院的数据并分页展示,笔记11
  • Modbus RTU 转 Modbus TCP:借助数据采集提升三菱PLC冷库温度反馈实时性案例