ジャニーズのシングルCD売上データをまとめて可視化してみた

自分はジャニーズの曲をたまに聴くんですが、周りの友達や同僚と話していても、**ジャニーズの曲を聴いてる男性ってあまりいない**んですよね。もちろん好みなんて人それぞれですが、ジャニーズにも結構いい曲あるのにな、なんて思ったりします。

そのせいか、**真面目にジャニーズの情報を数字でまとめているサイトって少ないです**。多くの男性エンジニア（というか多分アフィリエイター）が、ジャニーズに**「興味がない」**ことに加え、ウェブ上で**「お金にしにくい（広告案件がない）」**ので、モチベーションが湧かないのかもしれません。

でも日本中にジャニーズファンはたくさんいますし、自分も気になったぐらいですから、**情報としては大いに需要があるはず**なんですよね。なので、今回は**ジャニーズの主要グループのCD売上枚数をグラフで可視化してみました。**

# 対象グループ
[年代流行](https://nendai-ryuukou.com/artist/index.html)のサイトでまとめられている以下のグループを対象とします。

- SMAP
- TOKIO
- KinkiKids
- V6
- 嵐
- NEWS
- 関ジャニ∞
- KAT-TUN
- Hey! Say! JUMP
- Kis-My-Ft2

**※前提事項**
・上記以外にもいくつか主要グループがあると思いますが、上のサイトに載ってないので対象外にしました。
・サイト上に載っていない曲やデータが不正（枚数データが整数でない、日付がおかしいなど）な場合は、計算の対象外としていますので、載せている結果は精緻な値ではありません。あくまで傾向を知る程度の参考情報としてご覧ください。
・J-POP全体ではネット配信が伸びてきてますが、ジャニーズの曲はネット配信はほとんどないので、CDに絞ってます。


# シングルCD売上枚数の取得
たったこれだけのコードで取得できます。このあたりのPythonの手軽さと充実さが良いですね。

```Python
import pandas as pd
df = pd.read_html('https://nendai-ryuukou.com/artist/003.html')[0] #データ取得
df.columns = ['date', 'title', 'count'] #列名を指定
df = df.drop([0]) #不要な行を削除
```

例えば嵐のCD売上枚数一覧はこんな感じ。

![1.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/61ffd521-4dff-4027-3b48-0ead21db6252.jpeg)

ちなみにたまに枚数データに文字列「万」が入っていますが、「万」を省いて1万倍してあげれば数値化できます。

```Python
def to_integer(count_str):
    if '万' not in count_str:
        return int(count_str)
    else:
        return int(float(count_str.replace('万', '')) * 10000)
      
to_integer('12.3万') # → 123000

df['count'] = df['count'].map(to_integer) #売上枚数文字列を数値に変換
```

# 各グループのシングルCD売上枚数一覧
ここで、各グループごとに各シングルのCD売上枚数を棒グラフにしてみます。

```Python
df.sort_values(by='count', ascending=False).plot.bar(x='title', y='count', label='CD売上', figsize=(15, 5))
```
**＜嵐＞**
![2.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/8253828f-8138-77e1-dfac-1fff5ad85229.jpeg)

**＜SMAP＞**
![3.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/80118ecb-2c57-0c5a-c2fd-5aa08dc29f3f.jpeg)

**＜TOKIO＞**
![4.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/20f729a6-c25d-21f2-b09b-7c8654a6e8b1.jpeg)

**＜KinkiKids＞**
![5.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/105e8914-0b41-dd1a-a35b-d013b20e5fec.jpeg)

**＜V6＞**
![6.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/54c7151f-1129-0b7b-9445-e36e5060e522.jpeg)

**＜NEWS＞**
![7.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/71f389a6-d722-2158-689d-7a716eedd759.jpeg)

**＜関ジャニ∞＞**
![8.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/9a05647b-d36f-7430-1d15-4c4e8cacd9f0.jpeg)

**＜KAT-TUN＞**
![9.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/fd58ee01-54db-f51a-5880-09b7066cce95.jpeg)

**＜Hey! Say! JUMP＞**
![10.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/4850b608-2d74-fc7c-2570-8a8ad4e621a9.jpeg)

**＜Kis-My-Ft2＞**
![11.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/09a03346-57be-da9f-5076-e81785e1a8c2.jpeg)

**どのグループも、曲によって結構な差がありますね。**全体的にデビュー曲の売上が高いようなので、デビュー時は事務所をあげて盛大に売り出している様子が伺えます。

全グループまとめて売上枚数が多い順に20曲並べるとこうなります。

```Python
dfs = [df_arashi, df_v6, df_tokio, df_hey, df_kan, df_kat, df_kinki, df_news, df_kis, df_smap]
df = pd.concat(dfs) #各グループのDataframeを結合
df.sort_values(by='count', ascending=False)[:20].plot.bar(x='title', y='count', label='CD売上', figsize=(15, 5)) #ソートして上位20件取得
```
**＜全グループ売上トップ20曲＞**
![12.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/388c21d2-2b07-d1bc-5f3f-d81f25a0001f.jpeg)

誰もが聴いたことのあるレベルの曲が上位に並びました。最近の曲は少ないですね。

# 各グループのシングルCD平均売上枚数
次に、各グループの売上枚数に対して平均をとってみます。

```Python
df.groupby('artist').mean().round().sort_values(by='count', ascending=False)
```
![13.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/fa14028d-219c-e00f-c888-18bfa0d69277.jpeg)

1曲ずつ見るとSMAPやKinkiKidsが圧倒的に強い曲を持っているにもかかわらず、**平均で見ると嵐の底力が伺える結果になりました。**

# 各グループのシングルCD売上推移

発売日の情報もあるので、各シングルの売上を時系列で見てみます。「発売日」にプロットしているので、継続的に売れている曲などはわかりませんが、大きな流れは見えるはず。


```Python
df['date'] = pd.to_datetime(df['date']) #日付文字列をDatetime型に変換（ここ重要）
df.plot(x='date', y='count', label='CD売上', figsize=(15, 5))
```

**＜嵐＞**
![14.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/89af8adc-8a6a-32d5-d976-f7363c5bf022.jpeg)

**＜SMAP＞**
![15.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/157feec5-4945-6a88-1889-7232453f11be.jpeg)

**＜TOKIO＞**
![16.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/6fb3d289-973d-b100-8970-3c38ce78185e.jpeg)


**＜KinkiKids＞**
![17.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/26fe6dab-9133-d710-2a8c-713c54a6975a.jpeg)

**＜V6＞**
![18.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/eeced24b-844e-a877-3958-33068ac9a1d6.jpeg)

**＜NEWS＞**
![19.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/20199b7b-cefb-af85-4525-d05de0bd0465.jpeg)

**＜関ジャニ∞＞**
![20.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/f3182a5b-0e12-3b42-044d-3e054af3922c.jpeg)

**＜KAT-TUN＞**
![21.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/b49bd5d5-9c56-2aba-0ce2-ea1f2c93c99c.jpeg)

**＜Hey! Say! JUMP＞**
![22.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/a324a762-a7ad-2865-5d90-7ac66b92181f.jpeg)

**＜Kis-My-Ft2＞**
![23.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/4aff991d-1950-0528-c275-b4e2987bfdc5.jpeg)

**どのグループにも同じような波があるのかと思いきや、各グループ全然違う**のは興味深いですね。事務所としての売り出し方が違うのか、数年経って熟成される良さに違いがあるのかなど、詳しい方に聞けたら面白そうです。

こちらも最後に、全グループまとめてプロットしてみます。時系列は揃えています。

```Python
def show_all_chart(dfs):
    ax = None
    for df in dfs:
        if ax is None:
            ax = df.plot(x='date', y='count', figsize=(15, 10))
        else:
            ax = df.plot(x='date', y='count', figsize=(15, 10), ax=ax)
    plt.show

show_all_chart(dfs)
```
**＜全グループ時系列グラフ＞**
![24.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/fac5700a-96fe-2dc5-e073-88550303a5b0.jpeg)

SMAPの山でかいなコレ。。全体で見ると、**今より昔のほうがヒット曲の波がとてつもなく大きかった**ことがわかります。そして後半は、やはり**嵐の安定した強さが際立っています。**

# 全アーティストのシングルCD売上推移
もう少し分析っぽく、発売月と売上の散布図なんかも作ってみたんですが、特に傾向っぽいものがなかったので載せるのは控えます。

とはいえこれで終わるのも寂しいので、**最後におまけとして、ジャニーズ以外も含めた全てのアーティストの時系列データを調べてみます。**対象は先程のページに載っていたアーティストです。（最近VSCodeにjupyter notebookがデフォルト入りしたようなので、使ってみました）

**＜全アーティスト時系列グラフ＞**
![26.jpg](https://qiita-image-store.s3.amazonaws.com/0/280076/e1668584-e570-deb7-de82-26e444871c38.jpeg)

なんか花火みたいできれいですね。
全体で見るとよりハッキリとわかりますが、**真ん中あたりに大きな山があります。**CD市場の変化が如実に現れた結果でしょう。**後半は市場低迷（ネット配信の増加）により小さくなるのは当然とはいえ、ここまで違うとは。**テレビの影響力が落ちてきているのも大きいような気がします。

# あとがき
コード的には数分で書けて技術的に珍しくもない記事でしたが、その分コスパは良い内容かなと思い、試しに書いてみました。[前回](https://qiita.com/yossymura/items/ba0b2c7ce9618b0132e7)の簡易版みたいなものです。

今回はCDだけでしたが、**ネット配信の増加傾向も含めて全アーティストをデータ分析できたら、今後の見通しなども見えてもっと面白くなると思います。**アーティストの人数、平均年齢、活動年数、発売タイミングやその他もろもろの違いから、売上との相関を見つけたりもできるかも（僕はやりませんけど！）。

なお、今回まとめた情報は、あくまで「シングルCDの売上枚数」です。それは、音楽アーティストの数ある収入源（シングル／アルバムCD・DVD・ネット配信、テレビ番組・CM・雑誌などのメディア出演、ライブのチケットやグッズ、ファンクラブ会費など）の中のごく一部です。きっとグループごとに注力しているポイントが違うので、他の売上を見たら全然違う結果が見えてくるかもしれません。