如何在一周内电商数据可视化
·
数据准备
电商数据通常包括订单、用户、商品等信息。使用 Pandas 读取 CSV 或 Excel 文件是最常见的方式。示例代码展示了如何加载数据:
import pandas as pd
df = pd.read_csv('ecommerce_data.csv')
print(df.head())
数据清洗是关键步骤。处理缺失值、重复值,转换日期格式:
df.drop_duplicates(inplace=True)
df['order_date'] = pd.to_datetime(df['order_date'])
df['month'] = df['order_date'].dt.month
销售额趋势分析
使用 Matplotlib 或 Seaborn 绘制折线图展示月度销售额变化:
import matplotlib.pyplot as plt
monthly_sales = df.groupby('month')['sales'].sum()
plt.figure(figsize=(10,5))
plt.plot(monthly_sales.index, monthly_sales.values, marker='o')
plt.title('Monthly Sales Trend')
plt.xlabel('Month')
plt.ylabel('Sales Amount')
plt.grid()
plt.show()
商品类别占比
通过饼图展示不同商品类别的销售占比:
category_sales = df.groupby('category')['sales'].sum()
plt.pie(category_sales, labels=category_sales.index, autopct='%1.1f%%')
plt.title('Sales Distribution by Category')
plt.show()
用户行为分析
使用柱状图比较不同用户群体的购买频率:
user_activity = df['user_type'].value_counts()
plt.bar(user_activity.index, user_activity.values)
plt.title('User Activity by Type')
plt.ylabel('Purchase Count')
plt.show()
地理分布热力图
如需展示用户地域分布,Folium 库可创建交互式地图:
import folium
from folium.plugins import HeatMap
map_center = [df['lat'].mean(), df['lng'].mean()]
m = folium.Map(location=map_center, zoom_start=5)
heat_data = [[row['lat'], row['lng']] for index, row in df.iterrows()]
HeatMap(heat_data).add_to(m)
m.save('heatmap.html')
动态仪表盘
结合 Plotly Dash 创建交互式仪表盘:
import dash
import dash_core_components as dcc
import dash_html_components as html
app = dash.Dash()
app.layout = html.Div([
dcc.Graph(figure={
'data': [{'x': monthly_sales.index, 'y': monthly_sales.values, 'type': 'bar'}],
'layout': {'title': 'Sales Dashboard'}
})
])
app.run_server(debug=True)
进阶技巧
对于大型数据集,Datashader 可有效处理:
import datashader as ds
from datashader import transfer_functions as tf
canvas = ds.Canvas()
agg = canvas.points(df, 'order_date', 'sales')
tf.shade(agg)
关键要点:
- 根据数据规模选择合适的可视化工具
- 交互式元素能增强分析深度
- 颜色搭配需符合数据特性
- 定期更新可视化反映最新数据趋势
更多推荐




所有评论(0)