2016-08-03 2 views
2

Я пытаюсь переименовать столбец в кадры данных pandas, но разные dataframes имеют разные типы столбцов, и мне нужна помощь. Простой пример прояснит вам мою проблему.изменить значения столбца (и тип) на pandas Dataframe

import pandas as pd 
dic1 = {'a': [4, 1, 3, 1], 'b': [4, 2, 1, 4], 'c': [5, 7, 9, 1]} 
dic2 = {1: [4, 1, 3, 1], 2: [4, 2, 1, 4], 3: [5, 7, 9, 1]} 

df1 = pd.DataFrame(dic1) 
df2 = pd.DataFrame(dic2) 

Теперь, если я печатаю

df1.columns.values[-1] = 'newName' 

Я могу легко изменить фамилию столбца первого dataframe, но если я печатаю

df2.columns.values[-1] = 'newName' 

Я получаю сообщение ошибки от Python поскольку столбцы во втором ядре данных имеют разный тип. Есть ли способ изменить тип этих столбцов и/или заставить Python понимать в некотором роде, что даже последний столбец df2 должен быть назван «newName»?

ответ

3

Это не обычный метод, чтобы переименовать столбец, следует использовать rename сделать это:

In [95]: 
df2.rename(columns={df2.columns[-1]:'newName'}, inplace=True) 
df2 

Out[95]: 
    1 2 newName 
0 4 4  5 
1 1 2  7 
2 3 1  9 
3 1 4  1 
Смежные вопросы