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

标签 python pandas sqlalchemy

我知道read_csvmangle_dup_cols但是我如何在发出后从 sqlalchemy 中的 sql join 执行相同的操作:

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

使用 df.info() 时出现错误因为重复的列名。

最佳答案

您可以创建自己的辅助函数来修改列名称。下面的代码是我从 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()))

关于python - 处理来自 SQLAlchemy Join 的 Pandas DataFrame 构造函数中的重复列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115819/

相关文章:

python - 如何在 Julia 中使用 Python 函数?

python - sqlalchemy 查询 : select using list of tuples

python - 如何根据这些行值从一列中选择 pandas 中的行值,这些值在出现的任何地方都满足另一列中的某些条件

python - 如何对列表列表中的每个列表进行排序

python - 什么是组合相关但存储在不同数据帧中的数据集的好设计模式?

javascript - 带有 Javascript 的 flask

python - 使用 Colanderalchemy 进行 Cornice 模式验证

python - Pandas groupby 函数中的 secondary_y 范围

python - 如何在 Nifi 中将 pandas 数据帧从一个处理器传递到另一个处理器?

python - pandas:查找所选列的平均值