这是十年的某图书馆读者借阅记录,有读者号(uid)、图书号(bid)、图书标题(title) 和借阅日期(date)四个列。 import pandas as pd records = pd.read_csv( 'c:\\temp\\lending.dat') 1)查询每个用户借了多少书 2)查询借书最多的10位用户 3)查询每个用户最早几几年借书 4)查询每个用户每年借书借了几本书 5)查询平均年借书量最多的十位用户
时间: 2024-02-24 10:58:10 浏览: 26
好的,我会根据您的问题进行回答。
1. 查询每个用户借了多少书:
可以使用 Pandas 的 groupby() 函数对 uid 列进行分组,然后使用 count() 函数统计每个分组的数量。
代码示例:
```python
books_per_user = records.groupby('uid').count()['bid']
print(books_per_user)
```
2. 查询借书最多的 10 位用户:
可以使用 Pandas 的 nlargest() 函数按照借书数量进行排序,并取出前 10 位。
代码示例:
```python
top_10_users = books_per_user.nlargest(10)
print(top_10_users)
```
3. 查询每个用户最早几几年借书:
可以使用 Pandas 的 groupby() 函数对 uid 列进行分组,然后使用 min() 函数统计每个分组的最小日期。
代码示例:
```python
earliest_date_per_user = records.groupby('uid').min()['date']
print(earliest_date_per_user)
```
4. 查询每个用户每年借书借了几本书:
可以使用 Pandas 的 groupby() 函数对 uid 和 date 列进行分组,然后使用 count() 函数统计每个分组的数量。
代码示例:
```python
books_per_user_per_year = records.groupby(['uid', pd.Grouper(key='date', freq='Y')]).count()['bid']
print(books_per_user_per_year)
```
5. 查询平均年借书量最多的十位用户:
可以先按照 uid 和 date 列进行分组,然后使用 count() 函数统计每个分组的数量,并计算每个用户的平均年借书量。最后使用 nlargest() 函数按照平均年借书量进行排序,并取出前 10 位。
代码示例:
```python
books_per_user_per_year_avg = records.groupby(['uid', pd.Grouper(key='date', freq='Y')]).count()['bid'].groupby('uid').mean()
top_10_avg_users = books_per_user_per_year_avg.nlargest(10)
print(top_10_avg_users)
```
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)