264 日目(曇り一時雨)イルベロに全力を注ぎ込んで
0:20 前後に就寝。しかしなかなか寝付けない。昼寝が長過ぎたのか。 いつの間にか眠りに入って、目が覚めたら 6:00 前後だ。体を冷やさないようにして 7:05 まで待つ。
朝飯を食って PC かばんも抱えて現場に出勤。コンビニに寄って雑誌チェック。 うっかり週刊文春を手にとってしまい、微妙に時間が押す。
7:50 管理人室に入室。可燃ゴミ出しと清掃で二時間潰す。 携帯電話に仕込んだ終業時刻アラームの Last Wave を波の音付きにしたのが実は良くなかった。 スピーカーを通すとノイズに聞こえて楽曲の魅力を損なうようだ。波音なし版で差し替えたい。
あと、本部への連絡でいつも音がとぎれとぎれになると先方から言われる。 この建物の電波の状態が悪いのか、携帯電話が壊れているのか……。
10:15 撤収。八広一丁目を横切る経路で八広図書館に向かう。このコースは初めてか。 途中で学校が両脇にあって変わっている。
10:30 八広図書館到着。朝刊(産経、東京)を読んで入館。窓際キャレルに着席。
- WSL ファイル更新。
- [soejima1000] 直近のをダウンロード。
- イルベロのプレイ動画をダウンロード。 このためだけに MP4 でダウンロード保存するスクリプトを書いた。 家庭用だが、業務用のフリーズ対策を意識したプレイが散見されるので大いに参考になる。
ネコ動画などを観て図書館を出る。週刊誌のチェックはまた後で。
コンビニに立ち寄って週刊モーニングの次号予告を見てひっくり返る。ざわざわ。
12:50 曳舟の部屋に戻る。雨が降ってきた。ダウンロードしてきたイルベロ 90 億動画を吟味する。 昔は私も 90 億はバンバン出せたのだがなあ。何を失ったのか、見ていこう。
- 序盤の経験値の上げ方が上手い?
- シールドのレベルは上がりやすいから序盤に集中させてスコア倍率も早く高くする?
- 素点の高い敵キャラで粘る。薄々気づいていたが直進するタイプのミサイルは相当高い。
- 二面の早回し。紫色の敵キャラの全滅タイミングを調整して(すごく大事)、終盤にピンクミラーを二度群生させる。
- 三面ボステレビの第二形態直前のミサイルで粘る(スコアの入り方が不自然に見えるので精査したい)。
- 四面は何を企んでいるのか、プレイからは判明しない。
- 五面道中はボス機を早く破壊することが正しいと仮定すれば、このプレイに勝てる(もう一機は出せる)。
- ラスボス第一形態をミサイルで粘る。そのため第二形態を瞬殺できるようにしておく。
- 真ボスもよくわからない。ラジルギザコのどちらも経験値が高いのはわかっている。
昼寝。16:05 起きる。外出してスカイツリータウンの回廊のトイレへ移動。 それから地下鉄に乗ってダラダラと小川町駅へ。
秋葉原 HEY に移動。イルベロを 20:00 の閉店まで断続的に 5 クレ遊ぶ。 さっきのビデオ閲覧が効いて、四面クリアまでのスコア稼ぎはだいぶ良くなる。 今日は五面がダメだ。真ボスでミス。
17:00 昌平まちかど図書館。週刊新潮、週刊文春を読む。
18:15 小諸そば昌平橋店。アクリル板が導入されてしまった。380 円。
- 二枚盛り
- 大盛り
20:00 HEY を後にする。今日は遠回りして岩本町駅まで行ってみる。 この時間だともう店が閉まっているので面白くはないことがわかった。
電車に乗って押上駅に戻る。
21:00 ビッグエー墨田業平店。442 円。
- シュークリーム
- 銀河のドライ
- 大きなおむすび鮭
- おにぎりおかかとツナの醤油ご飯
- チョコチップメロンパン
- スコーンバーベキュー
21:10 曳舟の部屋に戻る。入浴して 21:50 上がる。PC を起動していろいろ保存。 つまみを食いながら麻雀の練習。それからテザリング。それから Pandas の学習。
23:00 デイトナ USA の歌唱を聴いていると気持ち良すぎるせいか、突然眠くなる。 諦めて就寝。
Pytube Note
以下のようなコードを IPython の ~/.ipython/profile_pytube/startup/init.py に貼り付けておく。
ファイル名は任意。
コマンドライン ipython --profile pytube でセッション開始。
from pytube import YouTube
def download_video(watch_url):
"""Download a video file as MP4 file from YouTube"""
yt = YouTube(watch_url)
(yt.streams
.filter(progressive=True, file_extension='mp4')
.order_by('resolution')
.desc()
.first()
.download())
Pandas Note
Pandas ではサードパーティー製を含む各種ライブラリーの日付・時刻の型を受け付ける。 内部的には NumPy の型を採用している。
- Time series / date functionality
pd.to_datetime() -> DatetimeIndex,pd.date_range() -> DatetimeIndex.tz_localize() -> DatetimeIndex,.tz_convert() -> DatetimeIndex.resample()Timestamp,TimeDelta- Overview
- 時間に関係する 4 つの概念
- Date times
- Time deltas
- Time spans
- Date offsets
- 時間に関係する 4 つの概念
- Timestamps vs. time spans
Timestamp: タイムスタンプがもっとも基本的な(時間を点として表現するための)データ型だ。Period: タイムスパンを変数として表現することも自然だ。- どちらもインデックスになれる。それぞれ
DatetimeIndex,PeriodIndexになる。 - これらを相互に変換することもできる。
- Converting to timestamps
pd.to_datetime():SeriesをDatetimeIndexに変換する。文字列をTimestampに変換する。dayfirst=TrueDatetimeIndexのコンストラクターを直接呼び出してもよい。- キーワード引数
formatでタイムスタンプの書式を教える。 - TODO:
DataFrameのコンバート - エポックタイムから
TimestampやPeriodを生成することもできる。デフォルトの単位はナノ秒。 Timestampからエポックタイムに変換するのは少々面倒。- キーワード引数
originで起点を指定できる。タイムスタンプで指定したりorigin='unix'としたりする。
- Generating ranges of timestamps
- 周期性のあるタイムスタンプならば
pd.date_range(),pd.bdate_range()が便利。 それぞれ暦、営業日に基づく。 - 引数
start,end,periods,freqを習得すること。
- 周期性のあるタイムスタンプならば
- Timestamp limitations
pd.Timestamp.min,pd.Timestamp.max
- Indexing
DatetimeIndexは時系列を取り扱うように最適化されている。- 一般の
Indexではできないことだが、部分文字列での slicing ができる。 - キーの「精度」問題
.truncate()で slicing と同様のことをできる。
- Time/date components
.dt,isocalendar()
- DateOffset objects
- 周期性を表す
Dなどの文字列はDataOffsetまたはそのサブクラスに写像される。 - これらのクラスのオブジェクトを
freqに渡すこともできる。 .rollforward(),.rollback(),.normalize().offsetsBusinessDayのカスタマイズ用サブクラス- その他
- 周期性を表す
- Time series-related instance methods
.shift().asfreq()
- Resampling
.resample()は時間に基づく group-by 操作をしてから、各グループに対して何か reduction を行う。- 逆操作も考えられる。
.resample()の戻り値をforループで反復することもできる。
- Time span representation
Period,PeriodIndex,pd.period_range()Periodオブジェクト単体でfreqを持てることに注意。PeriodIndexは部分文字列で slicing できる。.asfreq()で変換。
- Converting between representations
to_period(),.to_timestamp()
- Representing out-of-bounds spans
- その場合には自作関数が必要になるかもしれない。
- Time zone handling
- 既定では Pandas はタイムゾーンを気にしない。