Python - переименование заголовков столбцов кортежа - PullRequest
0 голосов
/ 25 апреля 2018

Я выписал:

Переименование имени столбца кортежа в фрейме данных

Кажется, что ни один из ответов не работает.

У меня есть фрейм данныху которого есть кортежи в качестве заголовков столбцов:

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"})

Я также попытался преобразовать их в строки следующим образом:

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

Тем не менее, это ничего не изменит.Есть предложения?

1 Ответ

0 голосов
/ 25 апреля 2018

Я думаю, что вам нужно, если нужно второе значение кортежей list comprehension:

dfA.columns = [x[1] for x in dfA.columns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...