对电影题材分析的案例-电影类型与电影利润之间的关系(2021/07/24)
生活随笔
收集整理的這篇文章主要介紹了
对电影题材分析的案例-电影类型与电影利润之间的关系(2021/07/24)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如題,分析內容是電影題材和電影利潤之間的關系。
其中電影題材的數據格式比較特殊,那么就用這個案例體現怎么處理此類數據格式。
從數據中看,每個電影對應好幾種題材(genres)。
那么,我們的大概思路是,將數據處理成(一個電影對應)一個題材,對應一個利潤。
話不多說我們先放代碼
import pandas as pd import numpy as np import matplotlib.pyplot as plt#讀取數據 df = pd.read_csv('movie_metadata.csv',usecols=[0,1,2,3,4,5,6,7,8,9,10,11,13,15,27]) data = df.dropna(how='any')#處理數據 genres_data = pd.DataFrame(columns=['genres','gross']) for i,row_data in data.iterrows():genres = row_data['genres'].split('|')n_geners = len(genres)dict_obj={}dict_obj['genres'] = genresdict_obj['gross'] = [row_data['gross']] * n_genersgenres_df = pd.DataFrame(dict_obj)genres_data = genres_data.append(genres_df) # genres_data.to_csv('genres_data.csv',index=None) genres_data#繪制圖片1 genres_count = genres_data.groupby('genres').size() plt.figure(figsize=(15.0,10.0)) genres_count.plot(kind='barh') plt.savefig('genres_count.png') plt.show() #繪制圖片2 genres_gross = genres_data.groupby('genres')['gross'].sum() plt.figure(figsize=(15.0,10.0)) genres_gross.plot(kind='barh') plt.savefig('genres_gross.png') plt.show()?其中處理數據的部分是特點。
1.新建一個空白的df用于存放結果,我們對于結果的設計如下圖:
每一行的標識可以理解為 movie1+genres1,movie1+genres2.......movieN+genresN
genres_data = pd.DataFrame(columns=['genres','gross'])?
?一開始對迭代器不太了解,可以通過下面一段代碼測試查看迭代器取數的結果。
for i,row_data in data.iterrows():print(i)print(row_data)print('*'*20)打印出來的row_data我理解上是一個series。
取出每行的genres,用split()拆分
for i,row_data in data.iterrows():genres = row_data['genres']print(genres)拆分后
for i,row_data in data.iterrows():genres = row_data['genres'].split('|')print(genres)?
準備新建一個空字典,后期通過字典將數據轉換成dataframe,再將dataframe拼接就可以。?字典的預期效果如圖
字典中‘gross’的數據
for i,row_data in data.iterrows():genres = row_data['genres'].split('|')n_genres = len(genres)dict_obj={}dict_obj['gross']=[row_data['gross']]*n_genresprint(dict_obj['gross'])# print([row_data['gross']])?用將字典轉換成一個個的dataframe。
for i,row_data in data.iterrows():genres = row_data['genres'].split('|')n_genres = len(genres)dict_obj={}dict_obj['gross']=[row_data['gross']]*n_genresdict_obj['genres']=genresgenres_df=pd.DataFrame(dict_obj)print(genres_df)最終畫出來的圖的效果。
總結
以上是生活随笔為你收集整理的对电影题材分析的案例-电影类型与电影利润之间的关系(2021/07/24)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可视化图表工具,让数据直观反映问题
- 下一篇: Y86-64指令集体系结构