pandas读取csv查询15804002购买者的年龄,并统计各年龄段男性数量与女性数量绘制饼图和柱状图
时间: 2024-02-03 10:14:54 浏览: 73
假设csv文件名为data.csv,其中包含以下列:`user_id`, `age`, `gender`,以下是读取csv文件并进行统计绘图的代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取csv文件
data = pd.read_csv('data.csv')
# 查询年龄为15804002购买者的信息
buyer = data[data['user_id'] == 15804002]
age = buyer['age'].values[0]
# 统计各年龄段男性数量和女性数量
age_counts = data.groupby(['age', 'gender']).size().reset_index(name='count')
male_counts = age_counts[age_counts['gender'] == 'M']
female_counts = age_counts[age_counts['gender'] == 'F']
# 绘制饼图
plt.figure(figsize=(10, 5))
plt.subplot(1, 2, 1)
plt.pie(male_counts['count'], labels=male_counts['age'], autopct='%1.1f%%')
plt.title('Male Age Distribution')
plt.subplot(1, 2, 2)
plt.pie(female_counts['count'], labels=female_counts['age'], autopct='%1.1f%%')
plt.title('Female Age Distribution')
# 绘制柱状图
plt.figure(figsize=(10, 5))
plt.bar(male_counts['age'], male_counts['count'], color='b', label='Male')
plt.bar(female_counts['age'], female_counts['count'], color='r', label='Female')
plt.title('Age and Gender Distribution')
plt.xlabel('Age')
plt.ylabel('Count')
plt.legend()
plt.show()
```
这段代码首先读取csv文件,然后使用`groupby`函数进行分组统计,最后使用Matplotlib库绘制饼图和柱状图。
阅读全文