我已经检查过:
这些回应似乎都不起作用。
我有一个数据框,其中元组作为列标题:
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')]
Run Code Online (Sandbox Code Playgroud)
我尝试了多种重命名方法,但都行不通。我应该提到,列可能会改变,但这是最大数量(因此我不使用位置)
我尝试过的这段代码是:
dfA.rename(columns = {('Total', 'Book') : 'Book'})
dfA = dfA.rename(columns = {('Total', 'Book') : 'Book'})
dfA.rename(columns={'('Total', 'Book')':"Book"})
Run Code Online (Sandbox Code Playgroud)
我也尝试过将它们转换为字符串,如下所示:
dfA.columns = [str(s) for s in dfA.columns]
Run Code Online (Sandbox Code Playgroud)
然而,它仍然不会改变任何事情。有什么建议么?
我认为如果需要元组的第二个值,您需要list comprehension:
dfA.columns = [x[1] for x in dfA.columns]
Run Code Online (Sandbox Code Playgroud)