2015年07月23日(木)に開催された、「Pythonエンジニア養成読本」読書会 03 - connpassの登壇時、追加資料として利用したものです。
Author: Takahiro Ikeuchi - @iktakahiro
In [3]:
    
import pandas as pd
import numpy as np
    
In [9]:
    
# 商品データと購買ログの2つのデータを読み込みます。
master = pd.read_csv('./data/master.csv')
log = pd.read_csv('./data/log.csv')
    
In [7]:
    
# masterの内容を確認します
master
    
    Out[7]:
In [136]:
    
# logの内容を確認します
log
    
    Out[136]:
データの結合を行います。
In [137]:
    
# id 列で結合します
pd.merge(log, master, left_on='id', right_on='id')
    
    Out[137]:
In [5]:
    
def f(df):
        return df
    
master.pipe(f)
    
    Out[5]:
In [6]:
    
def discount(df):
    """
    商品名が ham だった場合に割り引きします
    """
    df2 = df.copy()
    df2.ix[df2.name == 'ham', 'price'] = df2.price - 30
    return df2
    
def tax_in(df, col):
    """
    消費税を計算したカラムを追加します
    """
    df['tax_in'] = df[col] * 1.08
    return df
(
master.pipe(discount)
      .pipe(tax_in, col='price')
)
    
    Out[6]: