2016-11-06 20 views
3

44個の列を持つデータフレーム(df)があり、列の名前を2:44に変更したい。私は、新しい列名を持つ長さ42のリスト(namesList)を持っています。私は、リストを使用して、私の列の名前を変更しよう:リストを使用してパンダの列の名前を変更する方法

df.columns[2:len(df.columns)] = namesList 

私はエラーを取得するしかし:

TypeError: Index does not support mutable operations

私はこのエラーが出るのはなぜ?あなたは新しい列名生成必要

答えて

0

- 古いものとlistから他からの第1及び第2の値を:

df.columns = df.columns[:2].tolist() + namesList 

サンプル:私たちは、「インデックスが変更可能な操作をサポートしていません」

df = pd.DataFrame({'A':[1,2,3], 
        'B':[4,5,6], 
        'C':[7,8,9], 
        'D':[1,3,5], 
        'E':[5,3,6], 
        'F':[7,4,3]}) 

print (df) 
    A B C D E F 
0 1 4 7 1 5 7 
1 2 5 8 3 3 4 
2 3 6 9 5 6 3 

namesList = ['K','L','M','N'] 
df.columns = df.columns[:2].tolist() + namesList 
print (df) 
    A B K L M N 
0 1 4 7 1 5 7 
1 2 5 8 3 3 4 
2 3 6 9 5 6 3 
+0

を期待する必要があるときこれをしようとしている? – Amir

+0

@Amir - 列名の新しいリストを列に割り当てますか?はいの場合は、そうではありません。 – jezrael

関連する問題