有一份电商销售数据包含以下字段,含义如下: event_time,交易时间 order_id,订单id product_id,商品id category_id,类别id category_code,类别代码 brand,品牌 price, 价格 user_id, 用户id age,年龄 sex,性别 local,地理位置消费总情况 计算每月成交金额 计算每月消费人数 计算每天订单数量 计算每人单次平均消费金额画图
时间: 2024-03-07 18:49:42 浏览: 197
以下是对于你提出的问题的一些思路和解决方案:
- 计算每月成交金额:
可以首先按照月份对数据进行分组,然后对每组数据的价格字段进行求和即可。具体实现可以使用pandas库的groupby函数。
- 计算每月消费人数:
同样可以按照月份对数据进行分组,然后对每组数据的用户id字段进行去重计数即可。
- 计算每天订单数量:
可以先将数据按照日期进行排序,然后使用pandas库的resample函数将数据按照天进行重采样,最后对每天的订单id字段进行计数即可。
- 计算每人单次平均消费金额:
可以先按照用户id进行分组,然后对每组数据的价格字段进行平均值计算。最后可以使用matplotlib库进行绘图展示。
下面给出一个简单的示例代码,供参考:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据,并将交易时间转换为日期类型
df = pd.read_csv('sales_data.csv', parse_dates=['event_time'])
# 计算每月成交金额
monthly_revenue = df.groupby(pd.Grouper(key='event_time', freq='M'))['price'].sum()
# 计算每月消费人数
monthly_customers = df.groupby(pd.Grouper(key='event_time', freq='M'))['user_id'].nunique()
# 计算每天订单数量
daily_orders = df.set_index('event_time').resample('D')['order_id'].count()
# 计算每人单次平均消费金额
avg_spending = df.groupby('user_id')['price'].mean()
# 绘制每月成交金额图表
plt.plot(monthly_revenue.index, monthly_revenue.values)
plt.xlabel('Month')
plt.ylabel('Revenue')
plt.title('Monthly Revenue')
plt.show()
# 绘制每月消费人数图表
plt.plot(monthly_customers.index, monthly_customers.values)
plt.xlabel('Month')
plt.ylabel('Customers')
plt.title('Monthly Customers')
plt.show()
# 绘制每天订单数量图表
plt.plot(daily_orders.index, daily_orders.values)
plt.xlabel('Day')
plt.ylabel('Orders')
plt.title('Daily Orders')
plt.show()
# 绘制每人单次平均消费金额图表
plt.hist(avg_spending, bins=20)
plt.xlabel('Average Spending')
plt.ylabel('Count')
plt.title('Average Spending Distribution')
plt.show()
```
注意,这只是一个简单的示例代码,实际应用中还需要根据具体数据情况进行调整和优化。
阅读全文