迷走ブログ

ファウスト的衝動を抱き、迷走している、凡人による気まぐれブログです。

【就職・ビジネス】職場に手順書が用意されていない場合に、手順書を作成するコツと手順書の意義について考えてみた

はじめに

f:id:yktmmrmtoosa03:20211016015250j:plain
今回の記事では、新卒の方に向けて手順書の作り方と手順書を作る意味をお伝えしていければと思います。

転職先の職場で色々と驚いたことや呆れたことはありました。その中でも呆れたことの上位3、4番目くらいに入る程の経験をしたのは、「手順書の用意されていない業務」が多々存在することでした。

今時、動画等で撮影・記録することもしていないし、仮に手順書が用意されていても、全く役に立たないどころか解読するのに時間がかかるものやミスを引き起こすような厄災(最悪)なものとしては存在していました。
(そんなんだから業界でトップになれないのでは。。。マジで転職先をミスったと後悔しています)

そこで、今回は新卒の方で業務に慣れていない方や手順書がなくて作り方に困っている方、僕のような哀れな子羊に向けて、手順書の作り方や手順書の意味や経験談を共有できればと思います。

意義・意味・目的・本質を捉えようとすることについて

f:id:yktmmrmtoosa03:20211016020426j:plain
なぜはじめに言葉の意味を考えるのか。その意味を考える目的を僕の考えとともにご説明します。多少冗長になりますが、お付き合いいただければ幸いです。

なお、先に断っておきますが、「出世をしたい」だとか「認められたい」「仕事に興味ないからどーでもいい」といった思惑・思考を持つ方は下記の項目を全て無視して「手順書作成の手順」までスクロールして頂ければと思います。

今回の場合に関わらず、仕事において「これやっておいて」と気軽に言われても、すぐに「わかりました」と返事するのは危険だと考え、一度意味や意義、目的、本質を考えることが重要だと考えるからです。

理由は2つあります。
1つ目は、目的や意義を知っていないとなぜその業務を行うのかわからずに進めることとなり、何も身につかない無駄な時間となる可能性が高いからです。何が言いたいかというと、有限な人生において時間の浪費となる可能性を少しでも避けるためです。つまり、意義・意味・本質だと言ったことを理解する必要があることです。

そもそも、単に言われたことを行うのは、自分の頭で考えないことになるので思考停止となり、問題点の把握や改善点の考案・実行に繋げることが難しいと思います。主体的に問題を捉えていないので、ただ作業としてこなすだけとなり、思考錯誤もしないと思いますし、頭が働きません。これを打開するためには、どんなに職場の同僚や上司に嫌な顔をされようとも、自分で理解できていないのでしたら、自分に任された仕事の意味や意義、その位置づけを逐一確認した方がいいと思います。「本質がわからない」という状況では「最適解」以前の「及第点」を捉えることすら難しいです。

2つ目は、自分の専門と異なる業務でもどうしてその仕事を「俺・私・僕」に任せようとしていたのか、「上司や同僚」などの「仕事を割り振った人」の「考え」や「思考回路」を把握することになるからです。仮に、論理的でない回答をされた場合、十中八九、その割り振った人は合理的でないので、少なくともビジネスでは関わらない方が良いと考えます。
このさき無駄な作業ばかり割り振られることになる可能性が高く、転職も考えるべきだと思います。

この現在社会において、気軽に言われた業務をただ単に思考停止で進めるのは、会社の都合の良い人材となるという意味では良い面もありますが、今後の働き方や生き方等の環境変化を考えるとちょっと、危険な気がします(僕の偏見と極論です)。終身雇用が崩壊していないのであれば、会社に従順である方が過ごしやすく良いと思いますが、そのような状況でもないので、ストレスは溜まるし、つまらない作業だし、安い給料だし、そのくせ、肩たたきにあうという働き損となる可能性が高くなると思います。。。。。。

以上のことから、意義・意味・本質を捉える必要があり、無意味価値のないことに時間と労力を割かないようにするべきと考えています。

そのため、今回の記事おいて、まずは語義の確認から入り、本質的と言うか、手順書の意味から考えたいと思います。

閑話休題。

「手順」の意味

f:id:yktmmrmtoosa03:20211016015302j:plain
そもそも、「手順書」の「手順」とはどういう意味なのでしょうか。手順書の意味を考える前に、「手順」の言葉の意味を捉えてみます。

デジタル大辞泉「手順」によると、2つの意味のうち1つ目に「物事をする順序」「段取り」と書かれています。

1 物事をする順序。段取り。「手順を踏む」「手順よく運ぶ」
2 囲碁・将棋で、着手の順序。また、相手の動きに対する当然の応手。

引用元:デジタル大辞泉「手順」より引用。手順とは何? Weblio辞書

正直、上記の語義だけでは単なる言い換えのような感じなので、よくわからないです。
そこで、さらに「順序」の意味を確認してみます。

同じくデジタル大辞泉の「順序」の項目を見ると、1つ目に「ある基準に従った並び」と書かれています。
この「ある基準に従った並び」という点は、先ほどよりも想像がつくようになったのではないでしょうか。
何かしらの「基準」という部分は、例えば、「背が高いという基準」と言ったような、法則性や規則性、類似性等で並べるということなど、先ほどより多少なりとも具体的な場面が思い浮かびます。

1 ある基準に従った並び方。また、その位置。順番。「順序が狂う」「順序よく並ぶ」
2 物事を行う手順。段取り。「まず上司に相談するのが順序だ」「順序を踏む」

引用元:デジタル大辞泉「順序」より引用。順序とは - Weblio辞書

最後に、「段取り」の辞書的な意味を確認してみます。
ここでは、二つ目の方に「物事を進めていく手順」、「そのための用意、工夫。」とあります。

つまり、「段取り」には、単に「物事を進めていく手順」だけでなく、その手順を実行するための「用意や工夫」でもあるという意味も含まれると、なんとなく想像がつきます。

① 芝居・小説などで、筋の運びや按配。もと歌舞伎の楽屋通言。
② 一般に物事を進めていく手順。また、そのための用意、工夫。

引用元:日本国語大辞典「段取り」より引用。https://www.weblio.jp/content/段取り

以上のことをまとめると、手順とは「物事を進めていくある従った並び」であり、その手順を実行するための「用意や工夫」を含めた一連の行動のことであると捉えることができそうです。

「手順書」を作成する意味

f:id:yktmmrmtoosa03:20211016020625j:plain
上述の通り、手順とは「物事を進めていくある従った並び」であり、その手順を実行するための「用意や工夫」を含めた一連の行動であると仮定します。

そうなると、手順書とは、「物事を進めていく手順」であり、その手順を実行するための「用意や工夫」を含めた一連の行動を記した書類や紙等の、文書化されたものであると言えそうです。

ただし、この語義が最適であるかどうかはわからないので、一般的な辞書で「手順書」の意味を確認してみます。

wikiによると、以下のような定義がされています。

手順書 (てじゅんしょ)は、業務や作業を行う手順を文書化して、どの作業者でも同じ質の作業を実行できるよう、作業手順が明確化されたもの。作業計画書、作業手順書、作業標準書などとも呼ばれる。
引用元:手順書 - Wikipedia

上述のことから、手順書とは、単に作業手順を文書化しているのではなく、どの作業者であっても同等の質をアウトプットできるように明確化されたものであり、創意工夫を含むものであると言えそうです。

手順書作成のコツ

f:id:yktmmrmtoosa03:20211016020633j:plain
手順書の作成方法について、職場で決まったフォーマットがあるのでしたら、良いのですが、僕の職場では決まったものがありません。例えば、テキストファイルのみを用いて、文字だけで説明している場合があったり、そもそも文書化自体をしていないこともあります。

そんな時、文句ばかり言ってもしかたないので、僕は以下のことに気をつけて作成しています。参考にしていただければ幸いです。

前提:再現性を意識すること

f:id:yktmmrmtoosa03:20211016110749j:plain
手順を文書化する動画として記録する等、書き手からその媒体が離れても、第三者がその文書や動画を見て、その通りに行って一定の質を保つように書かれている必要があります。つまり再現性が担保されている必要があります。

これは、文字で有れば主語と述語を必ず呼応するように書くだと言ったような人に伝えるべき努力的な当たり前のことも含めて指しています。

一方で、あえて暗黙知として、人知れずこっそりと伝承させており、高度な専門性や感覚化している業務として意図的にしているのでしたら、そもそも手順書など残さないでしょう。

したがって、自分さえ解ればよいと言う自己満足的な意図でもない限り、第三者が再現できるように意識する必要があります。この時の第三者とは、中学生くらいの知識レベルの人を想定しています。実際には、会社の人になるわけですが、中学生くらいの知識レベル(前提知識がない人)にでも解るようにしていることです。

以下の項目は実際に、僕が意識しながら作成していることです。一般的なことも含まれますが、ご了承ください。

全ての作業内容が端的に網羅されていること

f:id:yktmmrmtoosa03:20211016112941j:plain
ここでは、作業内容をしっかりと把握する必要があります。

そのため、手順書を書き始める前に、最初から最後まで作業内容を書き出していきます。そのようにすることで、全体の流れで漏れを出さないようにします。

具体的には、料理と似ています。
作りたい料理に対して、必要な材料を洗い出して、その材料をどのようなタイミングで使用するのか道具は何を使うのか等、再現可能なレベルまで分解していきます。

この段階で、あやふやな工程がある場合、前任者に聞けるようでしたら聞く、そのような人が不在の場合は、近しい業務内容の人に聞く、ネットで調べる等をして、とにかく分解し、その分解して作業を通して、全体像が一通り繋がり、把握できるように心がけます。

その上で、全工程を時系列等の一定の規則性を持たせて、列挙しておきます。

料理の場合は、必要な材料や道具名を先に書いておいて、次にそれらを用いた調理方法を時系列に列挙するなどです。

表現はできるだけ一義的であること

f:id:yktmmrmtoosa03:20211016112835j:plain
一義的な表現を心がけると言う点は、再現性を意識していれば、自ずと行うことのはずですが、あえて強調しておきます。

僕の職場の人は、なぜか曖昧な表現で2つも3つも解釈できてしまいそうな書き方をしています。正直なところ、意味がわからないことが多いです。

仕事を振るからには、後工程の方が困らないように工夫すると言う概念がないようです。

自分さえ良ければそれでいい、と言う考えが本当に意味不明です。そのような部分最適を行っても、全体的な効率性が落ちることがわかっていません。全体の効率が落ちるのですから、売り上げや利益にだって響くだろうし、ひいては給与等の待遇も改善されず、むしろ自分のクビを絞めることになると、なぜ気付がないのでしょうか。理解し難い人が多すぎます。

閑話休題。

とにかく、ここでは、後工程がわかる程度に言葉を書く・表現するように心がけるべきであることをお伝えしたかったです。手順書を作成するときも同様に、後々の後任者が解る程度に簡潔にまとめるべきです。

例えば、僕は以下の点を心がけています。

  • 主語と述語が呼応している
  • 多義的な表現をしないように心がける
  • 小学生や中学生くらいの人に解る程度の語彙力で書く

文字だけでなく、画像・絵等を用いるべき場面を考えること

f:id:yktmmrmtoosa03:20211016112512j:plain
現在は、令和であり、科学技術も進歩しています。
昭和ならしかたないにしても、文字だけで説明するべき場面と文字以外の媒体を用いて表現する時を意識するべきだと思います。

今回とは違い、何か細かい部品や図面や模型等、テクニカルなことを言っているのでしたら、視覚的な要素も取り入れないと伝わりにくいです。

例えば、特許だって、文字だけでなくしっかりと図面を用いて表現しています。

職場の人は、なぜそれをしないのか理解に苦しみます。人にわからせようという意識が皆無ですし、後は察して勝手にやれ、的な思考が謎です。

あなたと私は全く異なるバックグラウンドで生きており、あなたと私は赤の他人である事を理解できていない人が多すぎて困ります。

察しろだとか阿吽の呼吸だとかは、信頼関係がない場合難しいのですから、そこら辺をなぜトップダウン的にやらせようとする(求めようとする)のか謎です。

例外処理等の注意事項を書くこと

f:id:yktmmrmtoosa03:20211016113032j:plain
ここでは、一通り手順をアウトプット終え、そのアウトプットした文章なり動画なりを参照し、その通りに行ってみた後のお話になります。

もしも手順書通りに再現できなかった場合は、なぜなのか原因を考える必要があります。原因分析等については省略しますが、なぜ大きな誤差が生じたのか等の注意事項やそれに対して例外的な処理を行う必要性があった場合など、その理由や対処方法を書いておく事です。

人間の行なっている事ですから、例外やミス等の当初の想定外の事態が生じるの仕方ありません。ただし、どのような例外や事件なのか書き記すことで、属人的な暗黙知を出来るだけ排除し、後々の担当者が変わった時に起こった場合でも対処できるようにしておきましょう。

作成日時(更新日時)と誰が書いたのか残すこと

f:id:yktmmrmtoosa03:20211016113107j:plain
最後に、日付と誰が作成したのかを書き留めておくことをおすすめします。これは、作成者を明確にする事で、責任の所在を明らかにすると言う意味もあります。

また、そもそもいつ更新された物なのか、そもそも一度も更新されていないものなのかによって信頼性も変わってくるからです。

本来であれば、手順書の通りに行えば、完璧のはずですが、上述の通り、ミスや例外は起きてしまう可能性があるため、そのような問題等に対して細心と最新の情報を載せることで、常に手順書=手順を振り返り、改善していく必要があります。

そうでないと、全く無意味な手順書となってしまい、ゴミ箱行きとなります。

おわりに

ちょっと職場の愚痴が多くなりましたが、参考にして頂ければ幸いです。

【python・ライフハック】社食や学食でどのランチを食べるか迷った時に使うプログラムを考えてみた

はじめに

とある日、主人公はつまらない午前の仕事を終え、幸福とも言えるランチ休憩に入った。しかし、事件が起きた。
どれも微妙なランチメニューであったため、食べたいものがない!
昼ごはんを食べないと午後からの退屈な死事仕事に取りかかれない・・・そんなどうしようもない状況に陥った時ーー誰かが主人公のところに現れて耳元で呟いた。

「pythonで解決せよーー」
・・・・・・主人公は幻聴でも聞いていたのだろうか。

あるがままに、なすがままに、おもむくままに、主人公は手元のiPhoneで、コードを書き始めたのだったーー

前提条件的なものとやりたいこと・方向性

今回の場合は、複数のランチメニューから、一つだけメニューを選びたい、と仮定します。
ただし、社食や学食で提供されるランチメニューの日替わり定食の「数」は毎日固定されており、5つとします。そこで、それらの5つの選択肢から一つのランチメニューのみを選ぶ、ということにしたいと思います。

使用するアプリ

今回は手持ちのiPhoneにダウンロードしておいたJunoというアプリを使っています。これはJupyter notebookを使うことができるため、動的にコードを実行できます。そのため、Junoを用いました。

Juno

Juno

  • Rational Matter
  • 開発ツール
  • ¥1,840

コード

パターン1:ランチ名に振られている数字のみを出力するだけの場合を考えてみた

import random

a = random.randint(1,6)

print('本日のランチは、'+str(a)+'です。')

f:id:yktmmrmtoosa03:20211012211403j:plain
昼食時に、その場で書いたのが上記のコードとなります。
random は、pythonを入れるとはじめから使うことができます。
そのため、咄嗟に思い出したのが、random でした。

ただ、これだと捻りがなかったので、昼食をとりながら考え直しました。

パターン2:特定の商品名があらかじめ決まっている場合を考えてみた

import random

lunch_menu = ['A','B','C','D','E']
lunch = random.choice(lunch_menu)

print('本日のメニューは、'+str(lunch)+'セットをオススメします。')

f:id:yktmmrmtoosa03:20211012212152j:plain
こちらは、例えば「うどんセット」や「チャーハンセット」等、「〇〇セット」というセット名が固定の場合を考えてみました。
そのため、あらかじめ決まったリストを用意しておき、そこに要素を登録しておくこと必要があります。そして、コードの実行時にそのリスト内から1つの候補を選ぶというものです。

コードを書いていく中で、あまり使い所がなさそうだなと思いました。
当初、日替わりの5つのメニューは固定であるので、「うどん系」「ラーメン系」「丼もの」等の決まったワードを入れておいて、呼び出せばいいかと思いました。
しかし、あらかじめ決めておいたワードに合致するメニューが今後も必ず出てくる可能性は、ちょっと低そうだなと考え直しました。
例えば、今は中華系1と丼もの2と麺系2で固定されているのですが、それぞれ急にコンセプトを変えられてしまい、フォーやフィッシュ&チップス等の予期せぬものが出てくる可能性があると考えました。
従って、このコードの使い所は今後なさそうです。
まあ、pythonの勉強だから、気にしない

そこで、動的に候補を入力できるようにすれば良くないか?と考え直しました。

パターン3:その場でランチメニュー名を入力する場合を考えてみた

import random

print("今日のランチ候補名を順番に入れてください。")
string = input("候補1:")
string2 = input("候補2:")
string3 = input("候補3:")
string4 = input("候補4:")
string5 = input("候補5:")

lunch_data = [string,string2,string3,string4,string5]
ld = random.choice(lunch_data)

print('本日のメニューは、'+str(ld)+'セットをオススメします。')

f:id:yktmmrmtoosa03:20211012222241j:plain
input()を用いることで、その場でメニュー名を入力していきます。
そして、5つ目の候補を入れ終えると、それらのインプットを一度リストとして収納します。そのリストから前のコードと同様にランダムで表示させています。

今後、メニューの候補が増える場合に、追加しなければならない箇所が2箇所もあるので、やはりちょっと美しくないです。そのため、繰り返し処理やリストに入れておいて、辞書を作る的な方法が良いのかもしれませんが、あまりわからないですが・・・

f:id:yktmmrmtoosa03:20211012223127j:plain

おわりに

今後は、やはりコード的に美しくないので、短縮するなり、別の方法を考えてみたいと思います。

【飲み物】市販で売られているおすすめのお茶

はじめに

以前、お茶の種類に関する情報をスクレイピングして、それ以来色々なお茶を買うようになりました。

今回は、市販で売られているお茶で、おすすめのものを紹介していきます。

おすすめの烏龍茶

サントリー 烏龍茶 525ml ×24本

サントリーの烏龍茶です。

あっさりしており、後味もくどくないです。そのため、飽きることなくごくごくと飲むことができます。

 

以前、別のメーカーさんの烏龍茶を買ったことがあるのですが、そこの烏龍茶は味が濃く、かつ後味も絡みつくようなくどさもありました。

 

一方で、サントリーの烏龍茶は、程よい味わいであり、くどさもありません。そのため、飽きることなく、飲み進めることができますので、おすすめです。

 

そもそも烏龍茶には、ポリフェノールが含まれているそうです。そして、そのポリフェノールには、血液中の中性脂肪やコレステロールを減少させる効果を持つとされているようです。そのため、烏龍茶を飲むメリットが大きいと思います。

公式サイト:サントリー烏龍茶 | サントリー

 

おすすめの抹茶

法師園 狭山抹茶 埼玉県産 ( 国産 抹茶 30g648円×3袋セット )

法師園さんの狭山抹茶です。

 

抹茶の香ばしさと程よい抹茶の味わいが美味しいです。個人的なおすすめの飲み方としては、3分の1ほどお湯で溶かして、あとはアイスで割るのが良いです。もちろん、好みでミルクを入れるのもおすすめです。

 

狭山茶は、一説によると日本三大茶とされているそうです(狭山茶 - Wikipedia)。そのため、歴史的にお茶の産地として有名なところということもあり、狭山茶で抹茶を扱っている所をググって買ってみたのが経緯となります。

 

はじめコンビニで販売されているサントリーさんの抹茶ラテを載せようと思ったのですが、それだとなんかサントリーさんばかり商品を紹介することとなり、あまり面白みがないかなとも思いました。

サントリー クラフトボス 抹茶ラテ 500ml×24本

 

いずれにしても、美味しいのでおすすめです。

おすすめのミルクティー

ネスレ 大人のご褒美 アールグレイ ミルクティー 7本入×6箱

ネスレのアールグレイミルクティーです。

 

特に甘党好きにおすすめです。程よくベルガモットとミルクの味わいが混ざり合い、美味しいです。

 

ちなみに、アールグレイのみのポーションから、ミルクを加えてミルクティーにするのもおすすめです。こちらの場合、個人的にはミルクを気持ち多めに入れると美味しいです。もちろん水のみに溶かすのも美味しいのですが、やはりミルクを加えて飲む方が甘くて美味しいと感じます。

ネスティー ポーション アールグレイ 甘さひかえめ 7個×24袋セット

 

ポーションの方ばかり、書いてしまいました。本題に戻ります。

個人的には、アールグレイミルクティーをお湯で溶かして飲んでいます。しかし、仕事に疲れた時、たまにミルクで溶かす時もあります。ミルクで割ると、甘味が増します。きっと甘党の方はハマると思います。あと、お湯を注いだ時の泡立ち具合も程よく、値段以上の高級感も若干ですが味わえます。笑

 

おわりに

茶葉から買って、ブレンドしたら良いのでしょうが、茶葉も機械についても勉強不足のため、今後試して行けたら良いなと思います。

 

 

【python】ハイヤー・タクシー事業者数の推移を可視化してみた

はじめに

昨今、私のiPhone等において、なぜかUber taxiの広告をやたらとチョイスされるようになりました。もしかしたら、満員電車という地獄が本格的に再開したことに心が追いついていないため、無意識にそのような乗り物の広告を見てしまっているのかも知れません。

そこで、今回はタクシー事業者数について気になったので、その推移について、調べてみました。

結論

総事業者数は、年々減っている。また内訳としては、個人事業主数が特に著しく減っている。しかしながら、法人事業者数は、緩やかに増加している模様。令和元年までのデータしかないため、コロナ関連の影響はよくからない

f:id:yktmmrmtoosa03:20211007165655j:plain

使用したデータ

国土交通省が出している「ハイヤー・タクシー事業者数の経年データ」という集計を使用しました。

ハイヤー・タクシー事業者数 - DATA GO JP

コード

データの特徴確認

df = pd.read_excel('taxi.xlsx')
df

データについては、ダウンロード時に任意のファイル名で保存し、そのファイルを読み込みました。

はじめに、データの特徴的な全体の構成を見てみました。と言っても、データの数が少ないので、これくらいであれば個別に見た方が早そうだったため、一度全てを見てみました。
色々と困った点はありましたが、特に年号と年数が別々のセル内に分けて記載されていることでした。愚痴を述べても仕方がないので、以下の流れを取りました。

  • 年号部分の穴埋め
  • 年号部分と年数を結合させる
  • カラム名の記載

年号部分の穴埋め

year_df = df['ハイヤー・タクシー事業者数'].fillna(method='ffill')
year_df = pd.Series(year_df, name = '年度')
year_df 

f:id:yktmmrmtoosa03:20211007170746j:plain
昭和のデータ集計年の始まりと平成の年号開始部分には各年号の記載がされているものの、それ以降の年度において年号は載っていませんでした。従って、fillna(method='ffill')を用いることで、前の要素である「昭和」「平成」という単語を空白部分に対して穴埋めしています。
その上で、列名を「年度」としました。

抽出した列と元データの結合

df = pd.concat([year_df,df],axis=1)
df.drop(['ハイヤー・タクシー事業者数'],axis=1,inplace=True)
df

f:id:yktmmrmtoosa03:20211007171347j:plain
上述で取り出していた年数の部分は、concat()を用いて元のデータに結合させました。
その後、drop()を用いて、結合前のデータを削除しています。

カラム名の取得

df.drop(0,axis=0,inplace=True)
df.head()

f:id:yktmmrmtoosa03:20211007172148j:plain
ここでは、0行目に位置していた行の要素を列名として取得して、0行目を無くしました。
ただし、数字部分の列名がないため、再度列名を設定しました。
(ここら辺は別の方法があるのかも知れませんが、よくわかりませんでした)

df.columns = ['年度','数字','総事業者数','法人事業者数','個人タクシー']
df.head()

f:id:yktmmrmtoosa03:20211007172503j:plain
無事、数字部分の記載が追加されたため、列名の抽出がしやすくなりました。次に「年度」と「数字」部分を結合していきます。

年号と年数部分の結合

a = df['年度'].str.cat(df['数字'].astype(str))
a = pd.Series(a,name='年')
df = pd.concat([a,df],axis=1)
df.drop(['年度','数字'],axis=1,inplace=True)
df()

f:id:yktmmrmtoosa03:20211007173038j:plain
データが整い……あれ、個人タクシーの部分に「ー」があることに気がつきました。
どうやら数字以外の部分があるようです。
ということで、そちらに対処しました。

データのない部分をどのように補うか

b = df['個人タクシー'].replace('-',0).astype(int)
b = pd.Series(b,name='個人')
df = pd.concat([df,b],axis=1)
df.drop(['個人タクシー'],axis=1,inplace=True)
df

f:id:yktmmrmtoosa03:20211007173804j:plain
さて、どのように「ー」部分を穴埋めしていこうか迷いましたが、今回は「0」に置き換えました。

理由としては、正確な数字がわからなかったためです。
また、昭和30年の次の集計が昭和40年となっており、10年もの月日が空いていることから、そちらの数字をただ単に持ってくるのも昭和30年ごろの実情と合っていないであろうと考えたからです(根拠はありませんが、python の練習なので気にしない)。

なお下記の情報によると、昭和35年頃から自動車が普及し始めたとの記載があります。そのため、昭和30年において、タクシーの個人事業主はほぼいなかったのではないでしょうか。
第1節 自家用乗用車の急速な普及

可視化

fig = px.line(df,x='年',y=['総事業者数','法人事業者数','個人'],title='ハイヤー・タクシー事業者数の推移')
fig.show()

f:id:yktmmrmtoosa03:20211007165655j:plain
ちなみに、ピーク時の総事業者数は、平成18年の57740であったようです。
それ以降は、徐々に総事業者数は減っているようです。
f:id:yktmmrmtoosa03:20211007174905j:plain

おわりに

次出勤する時、Uber taxi利用してみようかな。。。

【python】Mr.Childrenのアルバムとシングル曲のオリコンチャートを可視化してみた

はじめに

今回は、Mr.Childrenのこれまでのアルバムとシングル曲に関しての情報を可視化してみました。

本当であれば、歌詞の形態素解析をしていきたかったのですが、iPad上でMeCabを動かす方法がわからないため、諦めました。

結論

デビューしてから、3作目にはオリコン3位にランクインしており、4作目には1位を取っています。1作目、2作目から3作目には一気に人気を獲得しており、さすがミスチル!
年間チャートについては、1位を獲得している作品は1作のみであるものの、半分以上の作品が年間チャートでトップ10位に入っており、人気があるといえそう。

長年のファンの方からしたら意外性のある結論でもなんでもないと思いますが、個人的には意外と年間チャートレベルでは1位を獲得していないことは発見でした。
もしかしたら、その年の流行の曲やアルバムが1位を取る傾向とかがあって、堅実な人気を持つミスチルはその年の代表曲的なものには負けてしまっているがトップ10位には入るくらいの一定の人気作品をリリースし続けている、等ありそうだなと思いましたまる

f:id:yktmmrmtoosa03:20210930211308j:plain
f:id:yktmmrmtoosa03:20210930223740j:plain

コード

データの読み込みと確認

import pandas as pd
df = pd.read_excel('ミスチル.xlsx',encoding="utf-8")
df.head(5)

f:id:yktmmrmtoosa03:20210930193912j:plain
まず、wikiから引っ張ってきたデータをエクセルファイルに保存しました。
そのため、列名がわかりません。あとは欠損値もありそうです。
次に、それらに対処していきます。

ヘッダーに値を設定する処理

df.columns = df.loc[0]
df.head(5)

f:id:yktmmrmtoosa03:20210930194457j:plain
とりあえずは、0行目書かれた位置に属する要素をそのまま列名として設定しました。

df.drop(index=0).head(5)

f:id:yktmmrmtoosa03:20210930194758j:plain
drop()を用いて、いらなくなった0行目を削除する処理をしました。

発売年の抽出と結合

var_data = df['発売日'].str.split('年',expand=True)
var_data.head(5)

f:id:yktmmrmtoosa03:20210930195410j:plain
ここでは、年だけを取り出したいのですが、ただ数字だけを残すのではなく、月日も残して置くことにしました。月日を使う可能性を捨て切れなかったためです。
そのため、str.split()を用いることで、「年」部分を境にして、要素を別々の列へと分割しました。

var_data.columns = ['発売年','発売月']
df = pd.concat([var_data,df],axis=1)
df.drop(['発売日'],axis=1,inplace=True)
df.head(5)

f:id:yktmmrmtoosa03:20210930195914j:plain
ここでは、前回取り出した年の部分と月日の部分を元のデータに結合しています。
そこでまず1行目では、カラム名をそれぞれ発売年と発売日に設定しています。
その上で、元のデータと結合させています。

いらない列を削除・欠損値を穴埋め

df.drop(df.columns[[-1,-4,-5]],axis=1).head(5)

f:id:yktmmrmtoosa03:20210930195852j:plain

df.fillna(method='ffill')

f:id:yktmmrmtoosa03:20210930203511j:plain
ここでは、欠損値の穴埋めをしました。欠損値部分は、どれも「オリコン最高位」部分に該当しました。そこで、欠損値の傾向をみると、順位が前のデータと同じ場合は省略されてしまっているようでしたので、同じ値で埋めることができそうです。そのため、ffillを用いて、初めの1位と出現している値と用いて、後の値にも1位を穴埋めしています。

グラフによる可視化

rdf = df.fillna(method='ffill').drop(df.columns[0],axis=1)
fig = px.line(rdf, x="発売年", y=rdf["オリコン\n最高位"], title="ミスチルのアルバム最高位",markers=True)
fig.update_layout(yaxis={'categoryorder':'total ascending'})
fig.show()

f:id:yktmmrmtoosa03:20210930211308j:plain
オリコンの最高位は、デビューして以来3作目で三位にランクインでしており、4作目で一位を見事に獲得していることがわかります。
そして、それ以降の作品は、2000年にリリースしたアルバム「Q」以来、全て一位を獲得しています。さすが、ミスチル!

個人的には、アルバム「Q」の中の「ロードムービー」が好きです。
オートバイに「君」を乗せて、走り出しているだけのことを歌っているわけではないと思いました。最後の歌詞に「もう1つ次の未来へ」という言葉で終わります。そのため、「僕らにつきまとういくつかの問題」を乗り越えたら、オートバイに乗せている「君」との関係性が変わっていくことを暗示しているのかなと思いました。
つまり、問題が解決するかどうかは「時の流れに身を委ねて」みることなんだけど、もしも時間が解決してくれたのならば、関係性が「もう一つ次の未来へ」=「どこかにあるはずのゴールライン」=結婚?になることを暗示しているのかなと思いました。
興味深いな暗示だなと勝手に解釈しています。(笑)

*「」は歌詞の引用部分となります。

Q

Q

Amazon

#都合上、一度データを読み込み直しているため、変数名が代わっていますが、特別な意味はありません。
df1 = pd.read_excel('ミスチル1.xlsx',encoding='utf-8')

rdf1 = df1.fillna(method='ffill')

fig = px.line(rdf1, x="発売年", y=rdf1["年間チャート[注 7]"], title="ミスチルのアルバム年間チャート",markers=True)
fig.update_layout(yaxis={'categoryorder':'category descending'})
fig.show()

f:id:yktmmrmtoosa03:20210930223740j:plain
こちらは、年間チャートの順位を可視化しました。
意外と、年間で1位を取ったことがあるのは、1作品のみであることがわかりました。
どんな作品なのかを次に確認してみましょう。

fig = px.bar(df, x="タイトル", y=rdf1["年間チャート[注 7]"], title="ミスチル")
fig.update_layout(yaxis={'categoryorder':'category ascending'})
fig.show()

f:id:yktmmrmtoosa03:20210930224102j:plain
はい、「HOME」というアルバムです。
ちょっと、可視化の仕方がどうすれば良いのかわからなかったため、y軸に順位をとり、x軸に作品名という形にしてみました。

本来であれば、円グラフとかにしたほうが見やすいのでしょうか。その辺りがどうすれば良いのか判然としませんでしたが、練習ですから、細かいことは気にしない。

ちなみに、「HOME」の中で個人的に好きな曲は、「箒星」と「通り雨」「もっと」「彩り」という曲です。「箒星」は28枚目のシングル曲、「彩り」はアルバムの表題曲です。

「通り雨」は、通り雨程度の天気が変化することくらいの些細なことであっても、心境の変化や心情の変化が起きるんだよーということを歌っている曲なのだと思います。個人的な解釈ですが、天気ほどの些細なことを意識するだけでも、気持ちが軽くなったり、気分転換につながるような効果があるんだ、と誰も普段は気にもしないようなことをさらっと実は重要なんじゃない?と歌っているところがめっちゃ好きです。

「もっと」という曲についても語りたいですが、需要がなさそうなので割愛。

HOME(通常盤)

HOME(通常盤)

Amazon

おわりに

ミスチルを聞いて、pythonの勉強を頑張るしかない!
俺(たち)の戦いはこれからだ!(笑)