ひよこ、通勤中。

通勤中の電車の中でひよこは何を思うのか。

pandasで日時周り

dftimeカラムがあることを想定

文字列 -> datetime型

time2017-01-01とかの文字列だったとき

pd.to_datatime(df['time'])

でだいたいよしなにparseしてくれる

unixtime -> datetime型

timeがunixtimeだったとき

pd.to_datatime(df['time'], unit='s')

一部情報を取り出す(日付、月、時間等)

datetime = pd.to_datatime(df['time'])
datetime.dt.hour

数百字のテキストを分類/クラスタリングしてみる with Keras

参考文献メモ。

分類

短文ならLSTM, 長文ならRNNが良いという噂。

クラスタリングするなら

色々

NLPクラスタリングにAutoEncoderを使う

Recursive AutoEncoder

LSTMを理解する

KerasでLSTM AutoEncoder

postgresqlでcsvファイルから一括upsert

全部1行ずつupsertしてたら100万件で数時間かかったので、 他の解決策を考える。

1時テーブルを作成しupdate + insert

PostgreSQL CSV 取り込み upsert | odekakeshimasyo.me

  1. copy from => tmp table
  2. tmp tableからUpdate
  3. tmp tableからUpdateした分を削除してInsert

PostgreSQLメモ

Activeで何クエリが走ってるか

select pid, query from pg_stat_activity where state = 'active';

クエリジョブのkill

select pg_cancel_backend(pid);

Pythonのdocstringの書き方について

3つの書き方

自分の基本的な書き方

基本的にはreSTの書き方しているつもり。

''' 1行関数・クラス説明

複数行説明...

:param type param-name: param-description
:return: return-description
:rtype: return-type
'''

docstringのtypeの書き方

docker-composeよく使うコマンド

コマンド

コマンド 意味
docker-compose build docker-compose.ymlの中身を変更したら実行する
docker-compose up 起動
docker-compose run {サービス名} {command} コマンドを実行する
docker-compose rm {サービス名} containerの削除。buildした内容を破棄する

PostgreSQLの設定

user:username, pass:secret, dbname:username でDBを作る。

  db:
    restart: always
    image: postgres:alpine
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: username
      POSTGRES_PASSWORD: secret
    volumes:
      - ./path/to/schema.sql:/docker-entrypoint-initdb.d/01_schema.sql

volumes: を指定すると この例なら自作schema.sqlを初回起動時に実行する。 テストデータ作ったり、スキーマ作ったりするのに便利。要らなかったらvolumes:ごと書かない