263 日目(晴れ)珍しく何もない一日
思い出したことがあって 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に等しい。
- 実のところ、この型は Python の
- 列ごとに異なる集計関数を指定することもできる。
- 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 thandf.groupby('A').std().colname》 Categoricalを使うときのobserved=Trueについて- グループキー内の NA 値は自動的に排除される。
- 意外と大事な
.nth() .cumcount(): グループ化すると各要素がグループの何番目に来るのかを示す。.ngroup(): グループ化すると各要素が何番目のグループにあるのかを示す。- 箱ひげ図など、
GroupByのプロットができる。 .pipe()
- «Note that
- Examples
- Splitting an object into groups