处理来自SQLAlchemy Join的Pandas DataFrame构造函数中的重复列

时间:2014-03-01 14:49:50

标签: python pandas sqlalchemy

我知道read_csvmangle_dup_cols但是在发布后如何从sqlalchemy中的sql join做同样的事情:

pd.DataFrame(result.fetchall(), columns=result.keys())

因使用dupe col name而使用df.info()时出错。

1 个答案:

答案 0 :(得分:3)

您可以创建自己的帮助函数来修改列名称。我从io.parsers._infer_columns

复制了下面的代码
def mangle_dupe_cols(columns):
    counts = {}
    for i, col in enumerate(columns):
        cur_count = counts.get(col, 0)
        if cur_count > 0:
            columns[i] = '%s.%d' % (col, cur_count)
        counts[col] = cur_count + 1
    return columns

pd.DataFrame(result.fetchall(), columns=mangle_dupe_cols(result.keys()))