「ビックデータ分析・活用のためのSQLレシピ」を読む

4-4-6 売上を把握するための大事なポイント

conn = psycopg2.connect("dbname=BigData host=localhost user=testuser")
df = pd.read_sql("SELECT * FROM purchase_log_long", conn)
print(df)

f:id:bitop:20180726072940p:plain

#難しい
df['dt'] = pd.to_datetime(df['dt'])
df = df.set_index('dt')
df['month'] = df.index.month

df_m = df.groupby(df.index)
df1 = pd.DataFrame({'month':df_m['month'].first(),
                'order_id':df_m['order_id'].count(),
                'avg_amount':df_m['purchase_amount'].mean(),
                'monthly':df['purchase_amount'].cumsum()})
print(df1.head(12))

f:id:bitop:20180726073043p:plain

4-2 多面的な軸を使ってデータを集約する

4-2-1 カテゴリ別の売上と小計を計算する

conn = psycopg2.connect("dbname=BigData host=localhost user=testuser")
df = pd.read_sql("SELECT * FROM purchase_detail_log", conn)
print(df)

f:id:bitop:20180726073444p:plain

#うまくいかない
dfm = df.set_index(['category','sub_category']).sort_index()
print(dfm['price'])

f:id:bitop:20180726073510p:plain