3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

過去に元号に使われた漢字の使用回数を数えてみた

Last updated at Posted at 2019-04-01

新元号は「令和」に決まったようですが、令和の[和」の字は昭和にも使われています。考えてみると元号に何度も登場する漢字とほとんど登場しない感じがある筈です。せっかくなので、大化以降のすべての元号に使われている漢字を取得して、登場回数ランキングを作ってみたいと思います。

元号はwikipediaの表にあるものをExcelにコピペして使用しました。
https://ja.wikipedia.org/wiki/%E5%85%83%E5%8F%B7%E4%B8%80%E8%A6%A7_(%E6%97%A5%E6%9C%AC)
wikipedia.xlsxとして保存したExcelファイルを読みこんでみます。

import os
import pandas as pd

df = pd.read_excel('./wikipedia.xlsx')
df2 = df.iloc[1:,:]
df2.columns = df.columns + df.iloc[0,:]
df2
コピペしただけなのであちこちに隙間が残っていて欠損値になりますが、今回必要なのは漢字表記された元号だけですから構いません。欠損値を除去して元号だけ取り出します。
python
era_name = df2['元号名漢字'].dropna()
era_name = [each for each in era_name if each != '']
print(len(era_name))
era_name[:5]
out
248
['大化', '白雉', '朱鳥', '大宝', '慶雲']

大化の改新以降、248の元号があったようです。昔は災害とかある度に改元していたので変更頻度が高かった事も原因しているかもしれません。

python
era_name_letters = [[letter for letter in each] for each in era_name]

letters = []
for s in era_name_letters:
    letters.extend(s)

print(len(letters))
letters[:5]
out
506
['', '', '', '', '']

重複含めて506文字の漢字が得られました。では数えていきましょう。登場回数ごとの漢字一覧を作成します。

python
from collections import Counter
c = pd.Series(Counter(letters)).sort_values(ascending=False)
index = c.unique()
df = pd.DataFrame([', '.join(c[c==each].index) for each in index], index=index, columns=['元号に登場する漢字'])
df.index.name = '登場回数'
pd.options.display.max_colwidth = 100
df

image.png
登場回数が特に多いのは29回の永、27回の元、天などですが、令和の「和」も20回登場の同率5位とかなりの人気ですね。一方、令和の「令」は初めて使われたようです。

ついでなので、漢字ごとの登場回数をプロットしてみます。

python
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib

plt.figure(figsize=(16, 4))
bar_list = plt.bar(np.arange(len(c)), c, tick_label=c.index)
bar_list[5].set_color('red')
bar_list[-1].set_color('red')
plt.xlim([-1, len(c)])
plt.ylim([0, max(c)+2])
plt.ylabel('元号に登場した回数')
plt.title('元号に用いられた漢字と登場回数')
plt.savefig('./barplot.png', dpi=300)
plt.show()

barplot.png
多いところと少ないところに位置してるのが分かりますね。

ヒストグラムも見てみましょう。

python
plt.figure(figsize=(5,4))
bar_hist = c.hist(bins=29)
plt.title('漢字の登場回数のヒストグラム')
plt.ylabel('漢字の数')
plt.xlabel('登場回数')
plt.savefig('./histogram.png', dpi=100)
plt.show()

histogram.png
1度しか使われていない漢字が圧倒的に多いですね。分布だけから考えると「令」の字も次回以降使われない可能性が高いと言えそうです。一方で複数回登場する漢字は結構多いので、もし次の元号をあてずっぽうで予測するなら何度か登場した漢字+まだ使われていない漢字の組み合わせで考えることで的中率を上げることができそうです。

結論

  • 令は初めて使われた
  • 和は20回使われていて、永、元、天、治に続いて5番目に使用回数が多い

皆さまにとって令和の世が幸せに満ちた時代になりますようお祈り申し上げます。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?