def bat_BB_K (df):
    if df['bat_BB'] == 0 or df['bat_SO'] == 0:
        return 0
    return df['bat_BB'] / df['bat_SO']

def bat_BB_PA (df):
    return df['bat_BB'] / df['bat_PA']

def pit_BB_K (df):
    if df['pit_BB'] == 0 or df['pit_K'] == 0:
        return 0
    return df['pit_BB'] / df['pit_K']

def field_error_rate (df):
    return df['field_E'] / (df['field_IP']/9)

def bat_BABIP(df):
    return (df['bat_H']-df['bat_HR'])/(df['bat_AB']-df['bat_SO']-df['bat_HR'])

def pit_IS_IR_rate(df):
    if df['pit_IS'] == 0 or df['pit_IR'] == 0:
        return 0
    return df['pit_IS'] / df['pit_IR']

def bat_LOB_rate (df):
    return df['bat_LOB']/df['bat_PA']

def bat_RBI_R_per_PA (df):
    return (df['bat_RBI'] + df['bat_R']) / df['bat_PA']

def pit_GSC_50(df):
    return df['pit_GSC']/50

def bat_RC (df):
    return (df['bat_H']+df['bat_BB'])*(df['bat_H']+df['bat_HR']*3)/(df['bat_AB']+df['bat_BB'])

def pit_LOB_per (df):
    return (df['pit_H']+df['pit_BB']+df['pit_HBP']-df['pit_R'])/(df['pit_H']+df['pit_BB']+df['pit_HBP']+1.4*df['pit_HR'])