思い出したことがあって 0:30 までそれをやる。そして就寝。

7:05 起床。今晩は頻繁に目を覚ますようなことはなくて良かった。 朝食をとって仕事道具のみを抱えて出勤。コンビニには寄らずに 7:45 現場入り。

8:00 からたっぷり清掃。ゴミ出しがないと調子が上がらない。

10:00 作業を終える。本部に連絡を入れて撤収。ひきふね図書館に立ち寄ってみる。 朝刊(産経)、月刊ふらんす、月刊文藝春秋を読む。ネタになりそうな記事が多くて時間がかかる。 河野太郎大臣の寄稿とか、中野信子先生と鴻上尚史先生の対談とか。 時間なのでトイレを済ませて退館。

11:15 曳舟の部屋に戻る。昼寝をしようと思ったが、いくらなんでもまだ早いと思い直して PC 作業にする。Pandas でも読むか。

12:40 おやつ休憩終了。

13:20 眠くなったので毛布をかぶって横になる。そして気づいたら 16:05 になっている。 外出して押上駅バスターミナルに移動。錦糸町駅行きに乗って錦糸公園前で降りる。 半蔵門線構内に潜って西友へ向かう。

16:55 西友錦糸町店。235 円。

  • ボデーソープ詰め替え
  • 洗剤詰め替え

17:00 タイトー F ステーションオリナス錦糸町店。5 クレ遊ぶ。

MJ プロ卓東風戦。今日はうまく打てたのではないだろうか。

【SCORE】
合計SCORE:+157.1

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

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

【順位】
1位回数:3(33.33%)
2位回数:4(44.44%)
3位回数:2(22.22%)
4位回数:0(0.00%)
平均順位:1.89

プレイ局数:41局

【打ち筋】
アガリ率:21.95%(9/41)
平均アガリ翻:3.67翻
平均アガリ巡目:11.33巡
振込み率:2.44%(1/41)

【1/14の最高役】
・跳満

ビートマニア STEP UP モード。Modular Technology のクリアランプを点灯。 花冠も何とかなりそうだ。

19:25 カスミオリナス錦糸町店。451 円。

  • スケソウダラと豆腐の和風野菜あん弁当
  • ブラックチョコ
  • ライス

19:45 ビッグエー墨田業平店。208 円。

  • おにぎりおかかとツナの醤油ご飯
  • 大きなりんごデニッシュ
  • ポテコうましお

20:00 曳舟の部屋に戻る。PC を開いて家計簿と晩飯。テザリング。

21:15 風呂まで Pandas の学習。いつも思うがこのドキュメントは優秀だ。

22:55 入浴。風呂場で思いついたが IPython の profile でチュートリアルを作れないか。

22:35 復帰。忘れないうちに携帯電話の操作。 終業時刻のアラームのサウンドを OutRun の Last Wave にとりあえず変更しておく。 PC のディスクから携帯電話のどこにコピーすればいいのかわからないが、フォルダーが Download しかないのでそうする。 これで良さそうだ。着信音もいずれカスタマイズしよう。

23:45 Pandas のコード確認作業を途中で打ち切る。

Pandas Note

章の冒頭で group by と言うときにはどのような処理を指すのかを定義している。 それを標語的に表現するとこの章のタイトルにあるフレーズとなる。

  • Group by: split-apply-combine
    • Splitting an object into groups
      • .groupby() により GroupBy オブジェクトを生成する。縦にも横にも分けられる。
      • 最初のデータは DataFrame の時点で class によりグループ化されているとみなせることに注意。
      • .groupby() はキーをソートする。これを止めるのには sort=False とする。
      • .groupby() は NA を捨てる。敢えて拾うには dropna=False とする。
      • GroupBy オブジェクトには .groups というメンバーデータがある。 これを出力するとどうグループ分けされたのかが理解できる。
      • MultiIndex からなる表に対して .groupby()level=levelspec のようにして group by することもできる。
      • Grouper の使い方
      • GroupBy オブジェクトに対しても DataFrame 同様に [columnspec] でアクセスできる。
    • Iterating through groups
      • GroupBy オブジェクトを Python の for ループで回すことができる。 キーとコレクションの組を回すことになる。
    • Selecting a group
      • GroupBy オブジェクトに対して .get_group() で単一グループを選択できる。
    • Aggregation
      • .aggregate(), a.k.a. .agg() で集計する。 引数は callable または関数名を示す str オブジェクト。
      • 戻り値はグループ化した軸に新しいインデックスが付いた形の表になる。 この挙動を制御するのに as_index=False を与えたり DataFrame.reset_index() を呼んだりする。
      • GroupBy にも .size(), .describe() のような集計機能が備わっている。
      • 集計関数は NA を除外する。
      • 一度に複数の集計関数を指定することもできる。
      • NamedAgg の活用例。
        • 実のところ、この型は Python の namedtuple に等しい。
      • 列ごとに異なる集計関数を指定することもできる。
      • Cython 実装の下では sum(), mean(), etc. よく使われる集計関数は最適化されている。
    • Transformation
      • GroupBy オブジェクトと同じインデックスであるオブジェクトを得る操作だ。
      • .transform() で変換する。引数は callable または関数名を示す str オブジェクト。
      • NumPy の broadcast ルールが適用される場合もある。
      • lambda x: x.year のコードは .day に置き換えて家計簿の分析で使おう。
      • 欠損値を .mean() の値で置換する例は現実的で参考になる。
      • .groupby() した後に .rolling(), etc. を適用することもできる。
      • .ffill() とは?
      • .resample() は補間か?
    • Filtration
      • .filter() は述語的 callable を入力とし、データの部分集合を出力とする。
    • Dispatching to instance methods
      • .groupby() の戻り値に対して、例えば .std() とできる仕組みのことを指す?
    • Flexible apply
      • .aggregate().transform() の代わりに .apply() が有用な場合がある。
    • Numba Accelerated Routines
      • engine='numba' を指示することで高速化
    • Other useful features
      • «Note that df.groupby('A').colname.std() is more efficient than df.groupby('A').std().colname
      • Categorical を使うときの observed=True について
      • グループキー内の NA 値は自動的に排除される。
      • 意外と大事な .nth()
      • .cumcount(): グループ化すると各要素がグループの何番目に来るのかを示す。
      • .ngroup(): グループ化すると各要素が何番目のグループにあるのかを示す。
      • 箱ひげ図など、GroupBy のプロットができる。
      • .pipe()
    • Examples