【发布时间】:2014-10-26 04:10:49
【问题描述】:
我有一个包含很多数据框的列表
col = ['open', 'high', 'low', 'close']
index = [1, 2, 3, 4]
df1 = pd.DataFrame(columns=col, index=index)
df2 = pd.DataFrame(columns=col, index=index)
df3 = pd.DataFrame(columns=col, index=index)
dflist = [df1, df2, df3]
我需要重命名列表中所有数据框的所有列。我需要将每个数据框的名称添加到每列的名称中。我试着用 for 循环来做。
for key in dflist:
key.rename(columns=lambda x: key+x)
显然,这是行不通的。期望的输出是:
In [1]: df1.columns.tolist()
Out [2]: ['df1open', 'df1high', 'df1low', 'df1close']
In [3]: df2.columns.tolist()
Out [4]: ['df2open', 'df2high', 'df2low', 'df2close']
In [5]: df3.columns.tolist()
Out [6]: ['df3open', 'df3high', 'df3low', 'df3close']
感谢您的帮助。
【问题讨论】:
标签: python for-loop pandas rename dataframe