どうしても 5:00 頃に目が覚めて、そのまま予定起床時刻の 7:00 まで起き続ける。 おやつを食った後に眠くなるのはこのせいだろう。

朝食をとっていろいろ抱えて出勤。途中でコンビニで暖を取って 7:45 管理人室に入室。 今日は資源ごみ回収日で、これもまた昨日の燃えるゴミ同様に大量に生じている。 もっとも、量が多いだけで余計な作業はほとんどないから問題はない。

10:15 まで各フロアの掃き掃除をやって過ごす。携帯電話のタイマーに気付かず。 うるさいから遠慮しているのだが、やはり音を鳴らさないとダメか。

本部に報告して退勤。そのまま明治通りのバス停へ移動。

10:55 ゆいの森あらかわ入館。やりたいことが溜まっているので急ぐ。

  • この PC の重要ファイルをバックアップする
    • Dropbox
    • GitHub
      • 特に The Modern C++ Challange の作業コードのためにフォークまで必要。 学習用のブランチを作成して、そこにこの前まで使っていたリポジトリーの master を merge する。 それからそれを push する。旧リポジトリーからビルドディレクトリーを移動し、 最後に残りを処分する。
  • システムなどのファイルを更新する
    • apt update && apt upgrade
    • conda update --all
  • 髭アーカイブ 新作チェック
  • soejima1000 - YouTube をとにかくチェック。 知らないゲームのメドレーを中心にダウンロード。 今気づいたが「ゲーム音楽」というリストが用意されている。 ここを Pytube で一括ダウンロードするのがスマートか。
  • LPIC 本のコード動作確認(ネットワーク中心)
    • 次を新たにインストール
      • whois
      • inetutils-traceroute
      • net-tools

余った時間で気が向くまま YouTube を観て 13:00 退館。バスストップに移動してバスに乗る。 東向島広小路で降りて 14:00 曳舟の部屋に戻る。PC を戻して MP3 の整理作業。

髭アーカイブのリビルド楽曲は毎回当たり前のように高品質で驚く。

16:10 昼寝から起きる。外出。押上駅バスターミナル。錦糸町駅行きに乗って太平四丁目へ。

16:45 タイトー F ステーションオリナス錦糸町店。5 クレ。

MJ プロ卓東風戦。後半はサシウマに連続で敗けるようになって逃げるようにしてやめる。

【SCORE】
合計SCORE:+77.0

【最終段位】
四人打ち段位:魔神 幻球:7

【1/6の最新8試合の履歴】
1st|----**--
2nd|**------
3rd|--*---**
4th|---*----
old         new

【順位】
1位回数:3(33.33%)
2位回数:2(22.22%)
3位回数:3(33.33%)
4位回数:1(11.11%)
平均順位:2.22

プレイ局数:43局

【打ち筋】
アガリ率:18.60%(8/43)
平均アガリ翻:3.13翻
平均アガリ巡目:10.25巡
振込み率:16.28%(7/43)

【1/6の最高役】
最高役のデータがありません。最高役は、跳満以上のアガリが対象となります。

気分転換にビートマニアをワンプレイやって店を出る。

19:20 カスミオリナス錦糸町店。419 円。

  • ライス
  • チャーハン&海老入り焼きそば

19:35 ビッグエー墨田業平店。312 円。

  • シュークリーム
  • ふっくらおむすび梅
  • 照り焼きチキンパン
  • たこ焼き亭まろやか

19:50 曳舟の部屋に戻る。PC を広げて晩飯。焼きそばは味が付いているのにチャーハンには味が付いていない。 テザリングでインターネットとメールの確認。

Pandas をやる。Reshaping and pivot tables の章をザッと読む。 ピボットテーブルを理解するのに、前章までの複合インデックスの理解が必要だったというわけか。

22:05 入浴準備のときになってようやく今朝実は洗濯日だったことに気づく。 完全に忘れているときは気づいてもすぐにピンと来ないから恐ろしい。

22:50 風呂から出る。メモリーを積んだ PC は復帰が早くていい。 Pandas のさっきの続きをやる。コードを試す。意味のわからない機能を理解する。 しかし get_dummies() がわからない。

ダウンロードした soejima1000 メドレー集。ファイルが多すぎて一度も一周しないまま一日が終わる。 ギターの音と電子音は「抜けの良さ」という点が共通している。 ギターで古のゲーム音楽を演奏するとしっくりくるということだろう。

Pandas Note

  • Reshaping and pivot tables
    • Reshaping by pivoting DataFrame objects
      • df.pivot(index, columns, values) が基本的な操作となる。
      • index/column ペアが一意的でないときには例外 ValueError を送出する。
    • Reshaping by stacking and unstacking
      • .stack(), .unstack(): MultiIndex を操作する
      • .unstack() は引数を与えなければインデックスのいちばん内側の一階層をいちばん内側の列に転回し、 .stack() はその逆向きに転回する。 行が増える操作が .stack() と覚えておく。
      • どちらの操作も対象となるインデックスを暗黙的にソートする
      • 実は一度に複数の階層を .stack()/.unstack() できる。
      • 欠損値の生じる場合について «By default, missing values will be replaced with the default fill value for that data type, NaN for float, NaT for datetimelike, etc.»
        • fill_value を指定することもできる。
      • 列が MultiIndex であるときの .unstack() 操作は注意を要する。
    • Reshaping by melt
      • .melt() は指定していない列をすべて「変数=値」の対に変換する。
      • .melt() は通常、もとのインデックスを無視する。
      • pd.wide_to_long() というのもある。
    • Combining with stats and GroupBy
      • .groupby(level, axis)
    • Pivot tables
      • pd.pivot_table() は数的データの集計に向いている。
      • 引数 aggfunc で集計関数を指定することもできる。
      • 引数 values を与えないときのデータの構成について。
      • 引数 marginsTrue を指定するときの All 列・行の生成。
    • Cross Tabulations
      • pd.crosstab()
      • normalize=True: 個数ではなく百分率を値とすることもできる。
      • 引数 margins
    • Tiling
      • pd.cut() で標本それぞれの対応するヒストグラムのビンを求める。
      • 引数 bins の与え方は複数ある。
    • Computing indicator / dummy variables
      • pd.get_dummies(): これは後回しだ。
    • Factorizing values
      • pd.factorize() は面白い機能なのだが、使いどころがわからない。
    • Examples
    • Exploding a list-like column
      • .explode()