266 日目(曇り)あと 10 億だ
0:30 消灯。またしても寝付きにくい。
7:55 起床。曇りらしい。朝飯を食って外出まで PC をやる。
9:00 外出。まっすぐ八広図書館に移動。朝刊(産経、東京)を読む。 9:40 キャレルに着席。
apt updateなど。特になし。- イカサマ麻雀選手権【元麻雀プロvsモナカ公国】 - YouTube: 編集スタイルも込みで堀内プロの対応力の高さに舌を巻く。 モナカ公国本家でも見たことのないようなイカサマを敢行する。
- Windows Terminal の背景を透過させる方法を調査。結論から言うとうまくいかなかった。 透過というか、何かぼやけている。これでは裏のウィンドウのテキストを読むという目的にそぐわない。 Pandas のドキュメントを読みながらコードを書くときにウィンドウを重ねられれば省スペースになると思ったのだが。
- 忘れないうちに図書館の閲覧室状況を調査。ホームレスのときに作成したスプレッドシートが未だに有用なのはうれしい。
最後、MSX パロディウスのビデオを YouTube で速読して退館。タコはプログラマーだったのだ。
12:10 曳舟の部屋に戻る。おやつ休憩にする。麻雀の練習。ボコボコに放銃する。
14:05 Pandas のスタイリングの学習を終わる。IPython ではなくて Jupyter Notebook で動作確認をする。 いつだったか VS Code に Jupyter 拡張を入れておいて正解だった。
イルベロの研究。スロー再生で何かわかるかと思ったが、効果音が丁寧に作られていることがわかっただけだった。 体力回復のために外出まで居眠りする。
16:00 起き上がって外出。スカイツリータウンに移動して花を摘んでから電車に乗る。 小川町駅を出て肉の万世前経由で秋葉原 HEY に移動。 途中外出をはさみつつイルベロを 5 ゲーム。腹が減ってそばでも食うかと思ったら、日曜は 18:00 閉店なのだった。 代わりに自動販売機で何か熱いものでも買って飲もうかと思ったら、100 円で買えるものが何もない。 諦めて空腹のまま遊び続ける。
最後のゲームでやっと 90 億を出せた。しかし、十年前だったら 95 億のプレイ内容なのだが。
20:00 完全退店。また地下鉄に戻る。押上駅まで移動して地下道を伝って業平で地上に出る。
20:50 ビッグエー墨田業平店。741 円。
- 明太のり弁当
- ベビーチーズ鉄分 (4)
- 大きなおむすび (2)
- 小粒納豆 (6)
- ハムタマゴマヨパン
- ジャムパン
- ポテコうましお
21:00 曳舟の部屋に戻る。PC を開いてメシ。初めて買った「大きなおむすび梅と昆布」が美味い。 soejima1000 を聴きながらすべての作業をしているのだが、たまに歌い出すのが面白すぎる。 アニメ原作モノが多い。
22:30 入浴。23:15 PC 前に復帰。23:45 まで Pandas のオプション設定の章を読む。
Pandas Note
DataFrame オブジェクトの .style をいじると見てくれが変わる。
これは Styler 型であり、恰好を決めるメソッドを備えている。
実は CSS で実現されている。
- Styling
- Building styles
.applymap()は要素ごとに、.apply()は列・行・表ごとに。.render()は HTML に書かれる文字列を返す。 実際にはstyle要素とtable要素を書き出すようだ。.applymap()に渡す関数の要件。セルの値を入力とし、CSS のattribute: valueを出力とする。.apply()はその複数版とでも言うか。引数axisでどの範囲に適用するのかを指示する。.applymap()と.apply()を連結して呼び出すことを推奨している。- «Use
.apply(function, axis=None)to indicate that your function wants the entire table»
- Finer control: slicing
- キーワード引数
subsetを指定すると、特定の列または行に適用できるようになる。 - 状況によっては
functools.partial()を併用することになるかもしれない。
- キーワード引数
- Finer Control: Display Values
- 表示される値と実際のそれは区別されなければならない。書式の話だ。
.style.format()
- Builtin styles
- Sharing styles
style2.use(style1.export())
- Other options
with pd.option_context('display.precision', 2):で一時的に精度を変える。.style.set_caption().style.set_table_styles()は難しい。.style.set_na_rep()で欠損値の表示を指定する。.style.hide_index(),.style.hide_columns()- 定義済み CSS クラス
- Fun stuff
- Export to Excel
- EXPERIMENTAL
- OpenPyXL または XlsxWriter が要る。
- Extensibility
- Pandas を使って何かいいライブラリーを作ったなら教えて欲しい。リンクしよう。
- 意外にも Jinja2 の話になる。
Stylerのサブクラスの実装方法について。
- Building styles
- Options and settings
- Overview
pd.options.xxxxxget_option(),set_option()reset_option(): 設定値を既定値に戻すdescribe_option()option_context(): これはwithブロックで用いる- 以上の関数はオプション名に正規表現を指定することもできる
- Getting and setting options
set_option('option regex', new_value)によりオプションを変更
- Setting startup options in Python/IPython environment
-
IPython のプロファイルに上記オプション変更処理を書くとよい。 いちおう書いておくとコンソールで
bash$ ipython profile create pandas_sessionとやって生成されるディレクトリーの
startup以下に適当なpyファイルを作成してコードを書くのだ。
-
- Frequently used options
.display.max_rowsand.display.max_columns.display.expand_frame_repr.display.large_repr.display.max_colwidth.display.max_info_columns.display.max_info_rows.display.precision.display.chop_threshold.display.colheader_justify
- Available options
- 表にまとまっている。
- Number formatting
- これは
set_options()ではなくset_eng_float_format()を用いる。
- これは
- Unicode formatting
- 西洋の言語群で用いられる文字の倍の幅を持つ文字を東洋の言語ではよく用いる。
そのため
.display.unicode.east_asian_widthをオンにする。 .display.unicode.ambiguous_as_wide
- 西洋の言語群で用いられる文字の倍の幅を持つ文字を東洋の言語ではよく用いる。
そのため
- Table schema display
.display.html.table_schema
- Overview