以下是一个利用Qwen2.5 Max工具完成的数据分析与可视化示例,使用Python展示趋势、分布与相关性分析。
1. 生成示例数据
python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 生成模拟数据(假设是某电商销售数据)
np.random.seed(42)
dates = pd.date_range(start='2023-01-01', periods=365, freq='D')
sales = np.random.normal(loc=1000, scale=300, size=365).cumsum() + np.random.randint(-50, 50, 365)
traffic = sales * 0.8 + np.random.normal(0, 100, 365)
conversion_rate = np.clip(np.random.normal(loc=0.1, scale=0.03, size=365), 0, 0.2)
customer_age = np.random.normal(loc=35, scale=10, size=365).astype(int)
df = pd.DataFrame({
'Date': dates,
'Sales': sales.astype(int),
'Website_Traffic': traffic.astype(int),
'Conversion_Rate': conversion_rate,
'Customer_Age': customer_age
})
# 查看前5行数据
print(df.head())
2. 趋势分析(时间序列)
python
plt.figure(figsize=(12, 6))
# 销售额趋势
plt.subplot(2, 1, 1)
sns.lineplot(x='Date', y='Sales', data=df, label='Daily Sales')
sns.regplot(x='Date', y='Sales', data=df, scatter=False, color='red', label='Trend Line')
plt.title('Sales Trend Over Time')
# 网站流量趋势
plt.subplot(2, 1, 2)
sns.lineplot(x='Date', y='Website_Traffic', data=df, color='green', label='Website Traffic')
plt.tight_layout()
plt.show()
3. 分布分析
python
plt.figure(figsize=(12, 6))
# 销售额分布(直方图 + KDE)
plt.subplot(1, 2, 1)
sns.histplot(df['Sales'], kde=True, bins=30, color='blue')
plt.title('Sales Distribution')
# 转化率分布(箱线图)
plt.subplot(1, 2, 2)
sns.boxplot(y='Conversion_Rate', data=df, color='orange')
plt.title('Conversion Rate Distribution')
plt.tight_layout()
plt.show()
4. 相关性分析
python
# 计算相关系数矩阵
corr_matrix = df[['Sales', 'Website_Traffic', 'Conversion_Rate', 'Customer_Age']].corr()
# 绘制热力图
plt.figure(figsize=(8, 6))
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', vmin=-1, vmax=1)
plt.title('Correlation Heatmap')
# 散点图矩阵(数值变量关系)
sns.pairplot(df[['Sales', 'Website_Traffic', 'Conversion_Rate', 'Customer_Age']])
plt.show()
5. 关键结论示例
- 趋势:销售额与网站流量呈现相似的上升趋势(正相关)。
- 分布:销售额近似正态分布,转化率中位数约10%(存在部分异常低值)。
- 相关性:网站流量与销售额强相关(r≈0.85),用户年龄与转化率弱负相关(r≈-0.15)。