已经有了图书借阅记录的数据,每个记录中包括了如下信息:uid,bid,title,date,结合图书借阅记录,查询每年借的最多的书及其次数并绘制饼状图的python代码
时间: 2023-10-06 12:10:06 浏览: 92
基于python的图书馆借阅数据分析设计与实现
5星 · 资源好评率100%
以下是查询每年借的最多的书及其次数并绘制饼状图的Python代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('borrow_records.csv')
# 将日期转换为年份
df['year'] = pd.to_datetime(df['date']).dt.year
# 按年份和书名分组计算借阅次数
grouped = df.groupby(['year', 'title'], as_index=False)['uid'].count()
# 找到每年借阅次数最多的书
idx = grouped.groupby(['year'])['uid'].transform(max) == grouped['uid']
# 取出每年借阅次数最多的书及其次数
result = grouped[idx]
# 绘制饼状图
for year in result['year'].unique():
data = result[result['year'] == year]
plt.title(f'{year}年借阅最多的书')
plt.pie(data['uid'], labels=data['title'], autopct='%1.1f%%')
plt.show()
```
其中,假设借阅记录保存在名为 `borrow_records.csv` 的文件中,文件内容格式如下:
```
uid,bid,title,date
1001,B001,Python基础教程,2021-01-01
1002,B002,Java编程思想,2020-02-01
1003,B003,数据结构与算法,2020-03-01
1004,B001,Python基础教程,2020-04-01
1005,B002,Java编程思想,2020-05-01
1006,B003,数据结构与算法,2021-06-01
```
该代码首先读取借阅记录数据,将日期转换为年份,然后按年份和书名分组计算借阅次数。接着,找到每年借阅次数最多的书,并取出其次数,最后绘制饼状图展示结果。
阅读全文