重命名pandas.concat的DataFrame输出上的列

时间:2016-12-12 15:08:35

标签: pandas

我通过连接其他DataFrame的列来构建一个新的DataFrame,如下所示:

pairs = pd.concat([pos1['Close'], pos2['Close'], pos3['Close'], pos4['Close'], pos5['Close'],
                  pos6['Close'], pos7['Close']], axis=1)

我想将pairs Dataframe的所有列重命名为基础证券的符号。有没有办法在concat方法调用期间执行此操作?阅读这里的方法文档http://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.concat.html并没有给我一个可靠的答案。

2 个答案:

答案 0 :(得分:2)

这是我正在采取的方法。似乎符合我的所有要求。

symbols = ['JPM', 'WFC', 'BAC', 'C', 'STI', 'PNC', 'CMA']

pairs.columns = symbols

答案 1 :(得分:1)

您可以使用属性 keys 一次性实现相同的效果:

pairs = pd.concat([pos1['Close'], pos2['Close'], pos3['Close'], pos4['Close'], pos5['Close'], pos6['Close'], pos7['Close']], 
axis=1, keys= ['JPM', 'WFC', 'BAC', 'C', 'STI', 'PNC', 'CMA'])