見出し画像

原理原則を念頭に

基本が大事なんです。

ということを痛感しました。

月次処理をしていたときのことです。
polarsでカンマ区切りのテキストデータのコピーからデータフレームに読み込んだあと、数字の列の数字は3桁区切りとなっているので、カンマを置換して、数字のフロート型に変換しようとしたところ、エラーが発生。
fill_nullを使ってもnull値が更新されずにエラーのまま。

結局、文字列型なので文字列の置換をpl.when.then.otherwizeでするか、データを読み込むときにオプションのcastでstrict=Falseを使うとエラーは解消した。

解消するまでにいろいろ試すこと500回くらい。どれも数値型だと思いこんでいたため、fill_nullは効果なし、is_nullやnull_countをしても結果は、0。なんで0個なんだろう、とふと思うことも度々あった。それでも同じように試し続けてしまった。。。

試す途中途中で、webも検索した。公式ドキュメントページもよく読んだ。それでもfill_nullでできるはずだと、こだわってしまっていたためエラーから抜け出せなかった。データ型まで気が回らなかった。先入観はとても危険なのだ。

途中で、whenを使ったときは、'^$'を''に置換して望む結果になった。
そうだ、NoneやNull、Nanの数値ではなく、''の空文字だったのか。
疑問が浮かんだとき、そのときに気づけばよかった。null_countの結果がなんで0個なのかに。

問題の根本的発生起点、核心を間違えていたから、エラーのままだったんだ。数値型でなければ、fill_nullもis_nullも効果ないみたいだ。すなおに文字列の''を'0.00'に置換すればよかったんだ。

問題の根本原因となる部分をつかむことが大切ということを学んだ。

今日の教訓です。
原理原則からなにごとも考えるようにしたい。

コメ問題、年金問題が騒がれて久しい。対応策もいろいろあるが、どれも問題の根本原因を起点としたものではないので解決仕様もない。しかも利権や投票数が絡んでいるのでなおさら根本原因から遠ざかる。

コメ問題は、会社化して大規模生産によるヒト、モノ、カネの効率化や水田ではない栽培法の拡大、そして、生産会社から小売店、あるいは消費者にコメが直接届くような改革が必要だと考えられる。インターネットの時代に途中途中の転売することこそ過去のものになっているのだから。

年金問題は、始まりから無理があった。払っていない人たちがなぜ公的年金を受給することができたのか、が根本的な問題のはじまりだろう。話は飛んで申し訳ないのだか、退職金なんてものも同じ問題を抱えているのだろう。

後から受け取るくらいなら、いま受取って自らが運用して増やす、これでいいのだと考える。企業も給与支給を人質にした年功序列も一生同じ企業で働くことを余儀なくさせることをやめよう。企業は社員と考えずに業務委託している事業主や会社と考えて、依頼する業務に値段をつけて、給与として支払う。

こうすれば、年功序列とは違って、勤続年数の長さや職位も関係なくなり公平な給与が実現する。業務したてでも、定年間近でも、依頼される業務が完了すれば基本同じ金額が受け取れる。以来する企業側で品質に差異を感じるのであれば業務代金に上乗せして支払えばいい。ボーナスは企業の業績から配分する。ヒトを社員として囲い込む必要はなくなり、その企業の中の社員とよばれるヒトは企業を運営することに専念する。業務を依頼する側とされる側とに一定の距離感が生まれることによって、かつ、同様な業務を依頼する企業が多数になるので、さまざまなハラスメントも減少することになるかもしれない。労使という単語はなくなるのではと考える。

いいなと思ったら応援しよう!