Панды: переименование столбцов с одинаковыми именами - PullRequest
0 голосов
/ 08 октября 2018

У меня есть кадр данных с дублированными именами столбцов a, b и b.Я хотел бы переименовать второй b в c.

df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6], "b1": [7, 8, 9]})
df.rename(index=str, columns={'b1' : 'b'})

Попытка безуспешно ..

df.rename(index=str, columns={2 : "c"})

Ответы [ 4 ]

0 голосов
/ 08 октября 2018

Если ваши столбцы упорядочены и вам нужны столбцы с буквами, не вводите имена вручную.Это может привести к ошибке.

Вы можете использовать string.ascii_lowercase, при условии, что у вас максимум 26 столбцов:

from string import ascii_lowercase

df = pd.DataFrame(columns=['a', 'b', 'b1'])

df.columns = list(ascii_lowercase[:len(df.columns)])

print(df.columns)

Index(['a', 'b', 'c'], dtype='object')
0 голосов
/ 08 октября 2018

Вы всегда можете просто вручную переименовать все столбцы.

df.columns = ['a', 'b', 'c']
0 голосов
/ 08 октября 2018

Вы можете просто сделать:

df.columns = ['a','b','c']
0 голосов
/ 08 октября 2018

попробуй:

>>> df.columns = ['a', 'b', 'c']

>>> df
   a  b  c
0  1  4  7
1  2  5  8
2  3  6  9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...