我知道read_csv
有mangle_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/