从SQLAlchemy Join处理Pandas DataFrame构造函数中的重复列
问题内容:
我知道read_csv
有,mangle_dup_cols
但是如何在发出后从sqlalchemy中的sql join中执行相同的操作:
pd.DataFrame(result.fetchall(), columns=result.keys())
df.info()
由于使用了重复的col名称,使用时出现错误。
问题答案:
您可以创建自己的帮助程序功能来处理列名。我从以下代码中复制了以下代码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()))