一つのデータ活用プロジェクトに従事する場合はあまり問題になりませんが、
複数のデータを探索したり、モニタリングするロールの場合、大量のデータセットにすぐアクセスしたり、扱うデータの管理が重要になります。
ただし、SQLを主体にすると、どうしても可読性が下がったり、再利用性が低下します。
Lookerなどを入れている場合は、こちらに頼ればよいですが、現場にデータ分析官が自分しかいない場合、はこの辺りを仕組みかしておく必要があります。
自分の場合は、sqlでの複雑なクエリ管理を諦め、ローカルのsqlite3に大雑把なデータをロードし、加工を定型化することで対応しています。
Pandasからのsqlite3の扱い方
import sqlite3 import pandas df = #いい感じのデータフレーム #書き込み #テーブル名を日付にして、作業したら記録する癖をつけると便利 with open sqlite3.connect('./db') as con: #テーブル名が存在している場合:‘fail’, ‘replace’, ‘append’ df.to_sql('テーブル名',con,if_exists='replace') #sqlの実行 #例えばテーブル一覧を取得したい場合 with open sqlite3.connect('./db') as con: query = "select name from sqlite_master where type='table'" q_df = pd.read_sql_query(query,con)
ただし、join
などを複数使う場合は、sqlalchemyなどをさらにかますようにしています。
ロードしたりしたあと
sqliteの中をみたり
ひとまず基本的な情報を集めたりします