今回は、Pythonモジュールのpandasを使って、日本の市町村別人口データの中から、高齢化が進んでいる市町村と、結婚適齢期人口の男女比で、未婚女性人口が圧倒的に多い市町村を抽出してみます。結婚適齢期と言っても、既に結婚してしまっている既婚女性の可能性があるので必ずしも未婚女性とは言えないのですが、本ブログ記事では、結婚時の男女の年齢差が約2歳というデータを加味して、男性人口-女性人口=未婚女性としています。しかしながら、この場合の推定未婚女性の中にはバツイチ子無し、もしくは、バツイチ子持ちを含んでいるので注意が必要です。超少子化・未婚化が叫ばれる昨今、これらの問題を解決するには、男性が結婚相手を見つけるしかありません。そのためにも少しでも条件が良い適齢期未婚女性が余っている都市への移住を考えるのも有りではないでしょうか。
import pandas as pd
df = pd.read_excel('jappopage.xls',encoding='cp932',skiprows=1)
df.drop(['団体コード'],axis=1,inplace=True)
df.head(3)
35歳未満人口と65歳以上人口の列を追加する。
df['35歳未満'] = df[['0~4歳','5~9','10~14','15~19','20~24','25~29','30~34']].sum(axis=1)
df['65歳以上'] = df[['65~69','70~74','75~79','80~84','85~89','90~94','95~99','100歳以上']].sum(axis=1)
df.head(2)
65歳以上人口を35歳未満人口で割った若年高齢比の列を追加する。
df['若年高齢比'] = df['65歳以上']/df['35歳未満']
df.head(2)
高齢化が進んだ都道府県と市町村を抽出する¶
若年高齢比が高い市町村を抽出することで、高齢化が進んだ市町村が分かる。
aged_city=df[((df['若年高齢比']) > 1) & (df['性別']=='計')]
aged_city.sort_values(by='若年高齢比',ascending=False).dropna().head(10)
どの町村も人口が少ないので、人口10万人以上の市に限定して抽出する。
aged_city=df[((df['若年高齢比']) > 1) & (df['性別']=='計') & (df['総数'] >= 1e5)]
aged_city.sort_values(by='若年高齢比',ascending=False).dropna().head(10)
高齢化の進んだ都道府県を抽出する。
aged_city=df[((df['若年高齢比']) > 1) & (df['性別']=='計') & (df['総数'] >= 5e5)]
aged_city.sort_values(by='若年高齢比',ascending=False)
人口500万人超の北海道を別にすれば、人口の少ない県ほど高齢化が進んでいる。子供が生まれないから人口が減るわけだから、高齢化が進むのは当たり前と言えば当たり前の話である。
結婚適齢期女性が余っている市町村を抽出する¶
結婚適齢期をどこで線引きするかが難しい。一昔前なら16歳〜28歳だったのだろうが、今は18歳〜34歳とすべきなのか、あるいは、晩婚化が進んでいるので39歳まで適齢期年齢を引き上げるべきなのか判断に迷うところである。しかしながら、33歳を過ぎると高齢出産と言われているので、やはり、35歳未満が女性の結婚適齢期年齢の限界だと思われる。
df['15〜34'] = df[['15~19','20~24','25~29','30~34']].sum(axis=1)
都道府県、市町村、女性数、男性数のデータフレームを別個構築する
fem = df['性別']=='女'
mal = df['性別']=='男'
f = df[fem][['都道府県名','市区町村名','15〜34']]
m = df[mal][['都道府県名','市区町村名','15〜34']]
f.rename(columns={'15〜34':'Female'}, inplace=True)
m.rename(columns={'15〜34':'Male'}, inplace=True)
df1 = pd.merge(f,m,how='inner',on=['都道府県名','市区町村名'])
df1.head(2)
男女比の列を作る
df1['男女比'] = df1['Female']/df1['Male']
df1.head(2)
結婚適齢期女性余剰市町村を抽出する
fem_city=df1[((df1['男女比']) > 1)]
fem_city.sort_values(by='男女比',ascending=False).head()
青ヶ島村が最も適齢期女性余りの村のようである。今度は、男女比が1.2を超えている適齢期女性が最も多い市を抽出する。
fem_city=df1[((df1['男女比']) > 1.2)]
fem_city.sort_values(by='Female',ascending=False).dropna().head(10)
結婚適齢期女性が一番余っている都市を抽出する。
df1['男女差'] = df1['Female']-df1['Male']
fem_city=df1[((df1['男女差']) > 1.2)]
fem_city.sort_values(by='男女差',ascending=False).dropna().head(10)
福岡県福岡市と北海道札幌市が、高齢毒男(独男)が最も結婚できる確率が高い二大都市のようです。しかしながら、未婚女性、もしくは、未婚と思われる女性が多いと言っても、例えば、1人で複数人の女性と付き合っているイケメン男も多数いるので、必ずしも彼氏がいないとは言い切れません。彼女のいない独身男がほとんどの状況で、彼氏のいない独身女性が少ないのが未婚化の原因とも言われているので、唾の付いていない独身未婚女性を探すのは至難の業であるとも言えます。特に、低スペック喪男にとって、高スペックの独身女性をゲットするのは100%不可能なので、結婚したい毒男は、低スペック喪女で妥協するしかないでしょう。身の程を知って分相応の相手を探すしか結婚する術はありません。