2016-11-06 4 views
3

44 개의 열이있는 데이터 프레임 (df)이 있고 열 이름을 2:44로 바꾸고 싶습니다. 나는 새로운 컬럼 이름을 가진 길이 42의리스트 (namesList)를 가지고있다. 나는 다음 목록을 사용하여 내 열 이름을 변경하려고 :목록을 사용하여 팬더의 열 이름을 바꾸는 방법

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

을 나는 오류 얻을 그러나 :이 오류가 이유는 무엇입니까

TypeError: Index does not support mutable operations

를?

답변

0

당신은 새 열 이름을 생성해야합니다 - 제 list에서 이전과 서로 두 번째 값 :

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