コード例 #1
0
ファイル: dframe_explorer.py プロジェクト: psrc/access
def map_query(table, compare, filter, groupby, field, agg):
    global DFRAMES

    filter = ".query('%s')" % filter if filter != "empty" else ""

    df_main = DFRAMES['main']
    df_alt = DFRAMES['alternative']

    if compare=='Main vs. Alternative':
        print 'Showing base-alternative comparison'
        if field not in df_main.columns:
            print "Col not found, trying eval:", field
            df_main["eval"] = df_main.eval(field)
            field = "eval"

        cmd_base = "df_main%s.groupby('%s')['%s'].%s" % \
              (filter, groupby, field, agg)
        print cmd_base

        if field not in df_alt.columns:
            print "Col not found, trying eval:", field
            df_alt["eval"] = df_alt.eval(field)
            field = "eval"

        cmd_alt = "df_alt%s.groupby('%s')['%s'].%s" % \
              (filter, groupby, field, agg)

        base_results = eval(cmd_base)
        base_results[base_results == np.inf] = np.nan
        
        alt_results = eval(cmd_alt)
        alt_results[alt_results == np.inf] = np.nan

        # Percent change versus base, should be flexible in future
        results = (alt_results-base_results)/base_results
    else:
        print 'Showing primary results'
        if field not in df_main.columns:
            df_main["eval"] = df_main.eval(field)
            field = "eval"

        cmd_base = "df_main%s.groupby('%s')['%s'].%s" % \
              (filter, groupby, field, agg)
        results = eval(cmd_base)

    results = yamlio.series_to_yaml_safe(results.dropna())
    results = {int(k): results[k] for k in results}
    return results
コード例 #2
0
def map_query(table, compare, filter, groupby, field, agg):
    global DFRAMES

    filter = ".query('%s')" % filter if filter != "empty" else ""

    df_main = DFRAMES['main']
    df_alt = DFRAMES['alternative']

    if compare=='Main vs. Alternative':
        print 'Showing base-alternative comparison'
        if field not in df_main.columns:
            print "Col not found, trying eval:", field
            df_main["eval"] = df_main.eval(field)
            field = "eval"

        cmd_base = "df_main%s.groupby('%s')['%s'].%s" % \
              (filter, groupby, field, agg)
        print cmd_base

        if field not in df_alt.columns:
            print "Col not found, trying eval:", field
            df_alt["eval"] = df_alt.eval(field)
            field = "eval"

        cmd_alt = "df_alt%s.groupby('%s')['%s'].%s" % \
              (filter, groupby, field, agg)

        base_results = eval(cmd_base)
        base_results[base_results == np.inf] = np.nan
        
        alt_results = eval(cmd_alt)
        alt_results[alt_results == np.inf] = np.nan

        # Percent change versus base, should be flexible in future
        results = (alt_results-base_results)/base_results
    else:
        print 'Showing primary results'
        if field not in df_main.columns:
            df_main["eval"] = df_main.eval(field)
            field = "eval"

        cmd_base = "df_main%s.groupby('%s')['%s'].%s" % \
              (filter, groupby, field, agg)
        results = eval(cmd_base)

    results = yamlio.series_to_yaml_safe(results.dropna())
    results = {int(k): results[k] for k in results}
    return results
コード例 #3
0
def map_query(table, filter, groupby, field, agg):
    global DFRAMES

    filter = ".query('%s')" % filter if filter != "empty" else ""

    df = DFRAMES[table]

    if field not in df.columns:
        print "Col not found, trying eval:", field
        df["eval"] = df.eval(field)
        field = "eval"

    cmd = "df%s.groupby('%s')['%s'].%s" % \
          (filter, groupby, field, agg)
    print cmd
    results = eval(cmd)
    results[results == np.inf] = np.nan
    results = yamlio.series_to_yaml_safe(results.dropna())
    results = {int(k): results[k] for k in results}
    return results
コード例 #4
0
def map_query(table, filter, groupby, field, agg):
    global DFRAMES

    filter = ".query('%s')" % filter if filter != "empty" else ""

    df = DFRAMES[table]

    if field not in df.columns:
        print "Col not found, trying eval:", field
        df["eval"] = df.eval(field)
        field = "eval"

    cmd = "df%s.groupby('%s')['%s'].%s" % \
          (filter, groupby, field, agg)
    print cmd
    results = eval(cmd)
    results[results == np.inf] = np.nan
    results = yamlio.series_to_yaml_safe(results.dropna())
    results = {int(k): results[k] for k in results}
    return results