编写电影影片数据分析,并且用类封装
时间: 2023-07-19 10:15:48 浏览: 131
以下是一个基于Python Pandas库的电影影片数据分析的类封装示例,数据集使用了IMDB电影数据集:
```python
import pandas as pd
import matplotlib.pyplot as plt
class MovieAnalyzer:
def __init__(self, file_path):
self.df = pd.read_csv(file_path)
def show_head(self):
print(self.df.head())
def plot_genre_count(self):
genre_count = self.df['Genre'].value_counts()
genre_count.plot(kind='bar', title='Movie Genres', rot=45)
plt.show()
def plot_revenue_rating_scatter(self):
self.df.plot(kind='scatter', x='Rating', y='Revenue (Millions)', title='Movie Revenue vs Rating')
plt.show()
def plot_director_count(self, top_n=10):
director_count = self.df['Director'].value_counts()
director_count[:top_n].plot(kind='bar', title='Top {} Movie Directors'.format(top_n), rot=45)
plt.show()
# 实例化MovieAnalyzer对象
ma = MovieAnalyzer('IMDB-Movie-Data.csv')
# 调用show_head()函数,输出数据集前5行
ma.show_head()
# 调用plot_genre_count()函数,绘制电影类型数量柱状图
ma.plot_genre_count()
# 调用plot_revenue_rating_scatter()函数,绘制电影评分和票房收入的散点图
ma.plot_revenue_rating_scatter()
# 调用plot_director_count()函数,绘制电影导演数量前10的柱状图
ma.plot_director_count(top_n=10)
```
在上述代码中,我们定义了一个名为`MovieAnalyzer`的类,实例化对象时需要传入电影数据集的csv文件路径。在该类中,我们封装了一些常用的电影数据分析函数,例如`show_head()`函数用于输出数据集前5行,`plot_genre_count()`函数用于绘制电影类型数量柱状图,`plot_revenue_rating_scatter()`函数用于绘制电影评分和票房收入的散点图,`plot_director_count()`函数用于绘制电影导演数量前n个的柱状图。
在实例化`MovieAnalyzer`对象后,我们可以通过调用该类中的函数进行数据分析,例如调用`show_head()`函数输出数据集前5行,调用`plot_genre_count()`函数绘制电影类型数量柱状图,调用`plot_revenue_rating_scatter()`函数绘制电影评分和票房收入的散点图,调用`plot_director_count()`函数绘制电影导演数量前10个的柱状图。
需要注意的是,该示例代码只是一个简单的数据分析示例,实际数据分析需要针对具体数据集和分析目的进行相应的处理和分析。
阅读全文