2016-08-03 61 views
2

我想重命名熊貓數據框中的列,但不同的數據框具有不同類型的列,我需要幫助。一個簡單的例子將澄清你的問題。將列值(和類型)更改爲熊貓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' 

我可以很容易地改變第一數據幀的最後一欄的名字,但如果我鍵入

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