Python データ分析

【Kaggleでデータ分析】Pythonでアニメデータを分析する②〜最高のアニメを探す〜

2022年7月13日

【Kaggleでデータ分析】Pythonでアニメデータを分析する②〜最高のアニメを探す〜

こんにちは。TATです。

今日のテーマは「【Kaggleでデータ分析】Pythonでアニメデータを分析する②〜最高のアニメを探す〜」です。

 

前回の分析記事の続きです。

【Kaggleでデータ分析】Pythonでアニメデータを分析する①〜データの概要把握とデータ整形〜
【Kaggleでデータ分析】Pythonでアニメデータを分析する①〜データの概要把握とデータ整形〜

続きを見る

 

前回はデータの概要確認やデータ整形をおこなってきましたが、今回からはきちんと分析していきます。

準備したレビューデータを使って、いろいろな条件で最高のアニメを探してみようと思います。

 

データのおさらい

まずはデータのおさらいです。

前回の記事に詳細はありますのでここではサクッといきます。

【Kaggleでデータ分析】Pythonでアニメデータを分析する①〜データの概要把握とデータ整形〜
【Kaggleでデータ分析】Pythonでアニメデータを分析する①〜データの概要把握とデータ整形〜

続きを見る

 

データの入手元はKaggleです。

Anime listからデータをダウンロードしました。

データのダウンロードには登録(Register)が必要です。

 

ダウンロードしたデータをPythonで読み込んで、概要を確認しつつ、必要なデータ整形を行ったのが前回の記事でした。

データ整形作業としては、次の2つを実施しています。

データ整形

  • rated_byを数値データに変換する
  • statusをFinishedとAiringだけに絞る

 

こちらで完成したデータを本記事の分析に活用していきます。

 

全期間における最高のアニメは?

それではここから最高のアニメを探していきます。

 

まずはシンプルにデータ全体でみてみます。

ratingが最も高いアニメを見てみましょう。

トップ10を見てみます。カラムは独断で絞りました。

df.sort_values(by="rating", ascending=False).head(10)[["name", "studio", "theme", "source", "rating", "year", "demographic", "rated_by"]]

 

1位はFullmetal Alchemistです。これは鋼の錬金術師ですね。僕も大好きです。

そして銀魂がたくさんランクインしています。2、6、8、9位が銀魂です。

3位はスパイファミリーです。これは本記事を書いている2022年6月下旬時点でも放送中のものですね。

4位は進撃の巨人です。

全体的に2010年以降の最近のアニメばかりですね。

 

そしてソースは全て漫画です。

漫画で反響の大きかったものがアニメ化される傾向があるので、評価の高いものが揃いやすい感じがしますね。

 

各年の最高アニメは?

次に各年における最高のアニメを見てみます。

これは放送開始年でみます。

 

それぞれの年で1位のアニメとrating、合計アニメ数などをまとめます。

yearList = df["year"].unique().tolist()
yearList.sort()

data = []
for year in yearList:
    if len(df[(df["year"]==year) & (df["rating"]>0)])>0:
        top = df[(df["year"]==year) & (df["rating"]>0)].sort_values(by="rating", ascending=False).iloc[0]
        data.append({"year": year, "name": top["name"], "rating": top["rating"], "totals": len(df[(df["year"]==year) & (df["rating"]>0)])})
        
df_year = pd.DataFrame(data)

データが多かったのでTableでまとめます。

yearnameratingtotals
01963.0Tetsuwan Atom7.092
11964.0Big X6.072
21965.0Jungle Taitei6.571
31966.0Mahoutsukai Sally6.544
41967.0Ribbon no Kishi6.712
51968.0Cyborg 009 (TV)6.873
61969.0Tiger Mask7.265
71970.0Ashita no Joe8.293
81971.0Lupin III7.645
91972.0Mazinger Z7.265
101973.0Doraemon7.378
111974.0Great Mazinger7.075
121975.0UFO Robo Grendizer7.5313
131976.0Candy Candy7.5410
141977.0Ie Naki Ko7.8312
151978.0Uchuu Kaizoku Captain Herlock7.699
161979.0Versailles no Bara8.347
171980.0Ashita no Joe 28.718
181981.0Taiyou no Kiba Dagram7.3610
191982.0Patalliro!7.217
201983.0Igano Kabamaru7.8317
211984.0Hokuto no Ken7.9714
221985.0Touch8.0012
231986.0Maison Ikkoku8.2015
241987.0City Hunter7.9211
251988.0City Hunter 28.0619
261989.0Dragon Ball Z8.1514
271990.0Tanoshii Muumin Ikka8.1910
281991.0Oniisama e...7.8217
291992.0Yuu☆Yuu☆Hakusho8.4515
301993.0Slam Dunk8.5312
311994.0Ginga Sengoku Gunyuuden Rai7.9016
321995.0Fushigi Yuugi7.6220
331996.0Rurouni Kenshin: Meiji Kenkaku Romantan8.3023
341997.0Kenpuu Denki Berserk8.5327
351998.0Initial D First Stage8.3133
361999.0Great Teacher Onizuka8.6928
372000.0Hajime no Ippo8.7430
382001.0Hikaru no Go8.0839
392002.0Koukaku Kidoutai: Stand Alone Complex8.4345
402003.0Planetes8.2749
412004.0Monster8.8366
422005.0Mushishi8.6758
432006.0Gintama8.9572
442007.0Mononoke8.4355
452008.0Aria the Origination8.5057
462009.0Fullmetal Alchemist: Brotherhood9.1455
472010.0Rainbow: Nisha Rokubou no Shichinin8.4956
482011.0Hunter x Hunter (2011)9.0561
492012.0Gintama': Enchousen9.0476
502013.0Hajime no Ippo: Rising8.5866
512014.0Mushishi Zoku Shou 2nd Season8.7486
522015.0Gintama°9.0977
532016.0Haikyuu!!: Karasuno Koukou vs. Shiratorizawa Gakuen Koukou8.7982
542017.0Gintama.8.9970
552018.0Gintama.: Shirogane no Tamashii-hen - Kouhan-sen8.8875
562019.0Shingeki no Kyojin Season 3 Part 29.0874
572020.0Shingeki no Kyojin: The Final Season8.8554
582021.0Fruits Basket: The Final9.0458
592022.0Spy x Family9.0927

 

最も古いものは1963年で、その年の1位は鉄腕アトムですね。

この頃は手塚治虫の作品ラッシュですね。

1991年生まれの僕でさえ知ってるくらいですから間違いなく普及の名作ですね。

最近だと銀魂とか進撃の巨人とかが強いです。

 

demographicごとに最高のアニメは?

次にdemographicごとに最高のアニメを探してみます。

demographicはShounen, Seinen, Shoujo, Josei, Kidsの4種類しかないので、それぞれratingの高いトップ5をみてみます。

 

Shounen(少年)

まずは少年です。

df[df["demographic"]=="Shounen"].sort_values(by="rating", ascending=False).head(5)[["name", "studio", "theme", "source", "rating", "year", "demographic", "rated_by", "status"]]

 

1位は鋼の錬金術師です。

以降、銀魂、スパイファミリー、進撃の巨人、ハンターハンターでした。

スパイファミリーは唯一オンエア中でランクインしている作品です。

 

Seinen(青年)

次に青年を見てみます。

df[df["demographic"]=="Seinen"].sort_values(by="rating", ascending=False).head(5)[["name", "studio", "theme", "source", "rating", "year", "demographic", "rated_by", "status"]]

 

1位はかぐやさまは告らせたいです。映画化もされて話題になっていましたね。

僕の好きなキングダムも入っていました。嬉しいw

 

Shoujo(少女)

次に少女です。

df[df["demographic"]=="Shoujo"].sort_values(by="rating", ascending=False).head(5)[["name", "studio", "theme", "source", "rating", "year", "demographic", "rated_by", "status"]]

なんか2位から5位が同じタイトルで独占されていますね。

夏目友人帳というアニメで支配されています。

全然知らない。。。

 

Josei(女性)

次に女性です。

df[df["demographic"]=="Josei"].sort_values(by="rating", ascending=False).head(5)[["name", "studio", "theme", "source", "rating", "year", "demographic", "rated_by", "status"]]

 

ちはやふるだけ知ってますねw

あとは全然知らない。。。

 

Kids(キッズ)

最後にキッズを見てみましょう。

df[df["demographic"]=="Kids"].sort_values(by="rating", ascending=False).head(5)[["name", "studio", "theme", "source", "rating", "year", "demographic", "rated_by", "status"]]

 

1位がまさかのムーミンですね。

僕の世代ではドンピシャのデジモンやポケモンも入っていました。懐かしい。

ポケモンは2015年で新しいものですけどね。

2位と3位は全くわからない。。。

 

studioごとの最高のアニメは?

次にstudioごとの最高のアニメを見てみます。

studioは全部で242個あるので全てを見ると多すぎますw

 

よってここではアニメ数が多いstudioトップ20から、それぞれのstudioで最もratingの高いアニメをまとめてみます。

studioList = list(df[df["rating"]>0]["studio"].value_counts().head(20).index)

data = []
for studio in studioList:
    if len(df[(df["studio"]==studio) & (df["rating"]>0)])>0:
        top = df[(df["studio"]==studio) & (df["rating"]>0)].sort_values(by="rating", ascending=False).iloc[0]
        data.append({"studio": studio, "name": top["name"], "rating": top["rating"], "totals": len(df[(df["studio"]==studio) & (df["rating"]>0)])})
        
df_studio = pd.DataFrame(data)

ratingの数値データがきちんとあるもので絞った上で、アニメ数が多いstudioトップ20を炙り出して、それぞれでratingが最も高いアニメを出してみました。

2位がUnknownってのが残念ですが、ここにはキングダムが入っていますね。

東映アニメーションの1番はワンピースです。

僕も大好きで今でもみてるアニメの1つです。

 

あとはハンターハンターとか銀魂とかお馴染みのものが出てきて、さらにシャーマンキングとか東京リベンジャーズとかありますね。

みてるだけでいろいろなシーンが頭をよぎってきます。

 

sourceごとの最高のアニメを探す

最後にsourceごとに最高のアニメを探してみます。

sourceは全部で16種類ありました。

それぞれの1位をまとめます。

 

sourceList = list(df[df["rating"]>0]["source"].value_counts().index)

data = []
for source in sourceList:
    if len(df[(df["source"]==source) & (df["rating"]>0)])>0:
        top = df[(df["source"]==source) & (df["rating"]>0)].sort_values(by="rating", ascending=False).iloc[0]
        data.append({"source": source, "name": top["name"], "rating": top["rating"], "totals": len(df[(df["source"]==source) & (df["rating"]>0)])})
        
df_source = pd.DataFrame(data)

 

圧倒的に多いのは漫画です。

その中でも頂点に立つのが鋼の錬金術師ですね。

 

2位以降はオリジナルやゲームなどが続いています。

そして知らないアニメばかり。。。

1つだけですがラジオがsourceになってるアニメもあることには驚きました。

 

まとめ

本記事では、KaggleAnime listからデータを拝借して最高のアニメをいろいろな条件で探してみました。

 

お馴染みのアニメがたくさん登場してきました。

僕が幼少期にハマったアニメも色々と出てきてとても懐かしい気持ちになりました。

 

次回はratingが高いアニメの要素について分析していきます。

どんなジャンルのアニメの評価が高い傾向にあるのか、評価が高いアニメの共通点などを調べていきます。

 

ちなみに次回がアニメデータの分析記事の最後になる予定です。

ここまで読んでくださりありがとうございました。

 

前回の記事も合わせてご覧くださいませ。

【Kaggleでデータ分析】Pythonでアニメデータを分析する①〜データの概要把握とデータ整形〜
【Kaggleでデータ分析】Pythonでアニメデータを分析する①〜データの概要把握とデータ整形〜

続きを見る

 

おすすめPython学習法

Udemy:セール中なら90%オフで購入可能。豊富なコースから選べる!

データミックス:Pythonとビジネスについて学べる!起業したい方にもおすすめ!

SAMURAI TERAKOYA:月額2,980円〜利用できるコスパ最強スクール!

 

-Python, データ分析
-, , ,

© 2023 気ままなブログ