【发布时间】:2014-03-06 09:36:19
【问题描述】:
有没有办法通过连接来自不同级别的表的两个标签来直接创建列名? 例如,假设我有这个数据框:
df = pd.DataFrame({'n':[0 ,1 ,0 ,0 ,1 ,1 ,0 ,1],'l':[12 ,16 ,92, 77 ,32 ,47, 22, 14], 'cols':['col1','col1','col1','col1','col2','col2','col2','col2'], 'index':range(4)*2})
df_p = df.pivot(index='index', columns='cols')
我想将l/n 添加到col1/col2。最后,我应该有与列一样多的名称:
col1_l col2_l col1_n col2_n
12 32 0 1
16 47 1 1
92 22 0 0
77 14 0 1
我知道我可以这样做:
names_l = df_p.l.columns + '_l'
names_n = df_p.n.columns + '_n'
df_p.columns = names_l.append(names_n)
但也许有一种我不知道的更直接的方法来做到这一点。
【问题讨论】:
标签: python pandas dataframe rename