如何从行值设置列名?

How to set name of columns from rows values?

如何设置如附图所示的列名? 我加入了多个 dfs,但为列生成了非代表性名称。

dfs= 
[data_3,data_4,data_5,data_6,data_7,data_8,data_9,data_11,data_12,data_13,data_14]
df_final = reduce(lambda left,right: pd.merge(left,right,on='date'), dfs)
df_final.set_index('date')

Screenshot

如评论中所述,您可以根据枚举器重命名数据框中的列:

new_dfs = [i.rename(columns = 
dict(zip(i.columns.difference(['date']),i.columns.difference(['date']) + f"_dfno_{e}"))) 
     for e,i in enumerate(dfs,3)]

然后在 reduce 下试试:

df_final = reduce(lambda left,right: pd.merge(left,right,on='date'), new_dfs )
df_final.set_index('date')