基于python的电影数据分析系统的代码
时间: 2023-05-09 17:02:29 浏览: 132
基于Python的电影数据可视化分析系统源码.zip
5星 · 资源好评率100%
基于Python的电影数据分析系统包含了多个模块,用于获取、处理、分析电影数据,并生成可视化报告。以下是代码示例:
获取数据模块
```python
import requests
import json
def get_movie_info(id):
"""
根据电影ID获取电影信息
"""
url = f"https://api.douban.com/v2/movie/{id}"
response = requests.get(url)
return json.loads(response.text)
def search_movies(keywords):
"""
根据关键字搜索电影
"""
url = "https://api.douban.com/v2/movie/search"
params = {
"q": keywords
}
response = requests.get(url, params=params)
return json.loads(response.text)
```
数据处理模块
```python
import pandas as pd
def get_top_rated_movies(movies, n=10):
"""
获取豆瓣评分前n名的电影
"""
df = pd.DataFrame(movies)
return df.sort_values(by=["rating.average"], ascending=False)[:n]
def get_actors(movies):
"""
获取演员列表
"""
actors = set()
for movie in movies:
for actor in movie["casts"]:
actors.add(actor["name"])
return list(actors)
```
分析报告模块
```python
import matplotlib.pyplot as plt
def plot_top_rated_movies(movies):
"""
绘制豆瓣评分前10名电影的柱状图
"""
df = pd.DataFrame(movies)
df = df[["title", "rating.average"]]
df = df.set_index("title")
plt.barh(df.index, df["rating.average"])
plt.xlabel("豆瓣评分")
plt.title("豆瓣评分前10名电影")
plt.show()
def plot_actors_count(movies):
"""
绘制演员出演电影数量的条形图
"""
actors = get_actors(movies)
count = [sum([actor["name"] in movie["casts"] for movie in movies]) for actor in actors]
df = pd.DataFrame({"演员": actors, "出演电影数量": count})
df = df.set_index("演员")
df.plot(kind="barh", legend=False)
plt.ylabel("")
plt.title("演员出演电影数量")
plt.show()
```
以上就是基于Python的电影数据分析系统的代码示例。可以根据需求添加更多的功能模块,例如获取电影评论数据、分析电影票房收入等等。
阅读全文