要求使用函数
时间: 2023-12-04 08:06:18 浏览: 33
好的,那么我们可以将上面的代码封装成一个函数,方便以后的调用。具体代码如下:
```python
import pandas as pd
def actor_movie_stats(movie_file, actor_file, output_file):
# 读取电影信息和演员信息
movies = pd.read_excel(movie_file)
actors = pd.read_excel(actor_file)
# 将电影信息和演员信息进行合并
data = pd.merge(movies, actors, on='电影编号')
# 统计每个演员参演的电影数量和电影列表
actor_movies = data.groupby('演员姓名')['电影名称'].apply(list).reset_index(name='参演电影列表')
actor_count = data.groupby('演员姓名')['电影名称'].count().reset_index(name='参演电影数量')
# 将统计结果按参演电影数量降序排列,并按姓名升序排列
result = pd.merge(actor_movies, actor_count, on='演员姓名').sort_values(['参演电影数量', '演员姓名'], ascending=[False, True])
# 将结果填写到指定的sheet中
with pd.ExcelWriter(output_file, mode='a') as writer:
result.to_excel(writer, sheet_name='演员参演统计', index=False)
print('演员参演电影统计已完成!')
```
上面的代码中,我们将原来的代码封装成了一个名为`actor_movie_stats`的函数,其中`movie_file`、`actor_file`和`output_file`分别表示电影信息文件、演员信息文件和输出文件。函数执行完毕后会在控制台输出提示信息。
使用该函数的示例代码如下:
```python
actor_movie_stats('电影信息.xlsx', '演员信息.xlsx', '电影信息统计.xlsx')
```
这里我们调用了`actor_movie_stats`函数,并传入了电影信息文件、演员信息文件和输出文件。函数执行完毕后,就会将统计结果填写到指定的Excel表格中。