我已经退房了:
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]
然而,它不会改变任何事情。有什么建议吗?
答案 0 :(得分:2)
我认为如果需要元组list comprehension
的第二个值,则需要
dfA.columns = [x[1] for x in dfA.columns]