Python - 重命名元组列标题

时间:2018-04-25 07:53:45

标签: python pandas

我已经退房了:

Renaming tuple column name in dataframe

这些回复似乎都没有效果。

我有一个数据框,其元组为列标题:

list(dfA)

[('Total', 'Book'),
 ('Total', 'Book Chapter'),
 ('Total', 'Book edited'),
 ('Total', 'Conference Proceeding_Abstract'),
 ('Total', 'Consultancy Report'),
 ('Total', 'Journal Article'),
 ('Total', 'Manual / Guide'),
 ('Total', 'Manual/Guide'),
 ('Total', 'Monograph'),
 ('Total', 'Other'),
 ('Total', 'Policy briefing_report'),
 ('Total', 'Scholarly edition'),
 ('Total', 'Systematic review'),
 ('Total', 'Technical Report'),
 ('Total', 'Technical Standard'),
 ('Total', 'Thesis'),
 ('Total', 'Working Paper')]

我已经尝试了几种重命名方式,但它不起作用。我应该提一下列可能会改变,但这是最大的数量(因此我没有使用位置)

我试过的代码是:

dfA.rename(columns = {('Total', 'Book') : 'Book'})
dfA = dfA.rename(columns = {('Total', 'Book') : 'Book'})
dfA.rename(columns={'('Total', 'Book')':"Book"})

我也尝试将它们转换为Strings,如下所示:

dfA.columns = [str(s) for s in dfA.columns]

然而,它不会改变任何事情。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

我认为如果需要元组list comprehension的第二个值,则需要

dfA.columns = [x[1] for x in dfA.columns]