Pandas에서 열 이름의 이름을 바꾸는 것


질문

 

Pandas 데이터 프레임의 열 레이블을 어떻게 변경합니까?

['$a', '$b', '$c', '$d', '$e']

에게

['a', 'b', 'c', 'd', 'e'].

답변

 

특정 열의 이름을 바꿉니다

df.rename () 함수를 사용하고 이름을 바꿀 열을 참조하십시오.모든 열의 이름을 바꿀 필요가 없습니다.

df = df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'})
# Or rename the existing DataFrame (rather than creating a copy) 
df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'}, inplace=True)

최소한의 코드 예제

df = pd.DataFrame('x', index=range(3), columns=list('abcde'))
df

   a  b  c  d  e
0  x  x  x  x  x
1  x  x  x  x  x
2  x  x  x  x  x

다음 방법은 모두 작동하고 동일한 출력을 생성합니다.

df2 = df.rename({'a': 'X', 'b': 'Y'}, axis=1)  # new method
df2 = df.rename({'a': 'X', 'b': 'Y'}, axis='columns')
df2 = df.rename(columns={'a': 'X', 'b': 'Y'})  # old method  

df2

   X  Y  c  d  e
0  x  x  x  x  x
1  x  x  x  x  x
2  x  x  x  x  x

수정이없는 상태가 아닌 결과를 다시 할당하는 것을 잊지 마십시오.또는 inplace = true를 지정하십시오.

df.rename({'a': 'X', 'b': 'Y'}, axis=1, inplace=True)
df

   X  Y  c  d  e
0  x  x  x  x  x
1  x  x  x  x  x
2  x  x  x  x  x
 

v0.25에서 잘못된 열 - 바꾸기 이름이 잘못된 경우 오류를 올리려면 오류 = 'raise'를 지정할 수도 있습니다.V0.25 Rename () 문서를 참조하십시오.


열 머리글을 재 할당합니다

df.set_axis ()를 axis = 1 및 inplace = false로 사용하십시오 (복사본을 반환하려면).

df2 = df.set_axis(['V', 'W', 'X', 'Y', 'Z'], axis=1, inplace=False)
df2

   V  W  X  Y  Z
0  x  x  x  x  x
1  x  x  x  x  x
2  x  x  x  x  x

이렇게하면 사본을 반환하지만 inplace = true를 설정하여 데이터 프레임을 수정할 수 있습니다 (이것은 <= 0.24 버전의 기본 동작이지만 미래의 변경 가능성이 있음).

헤더를 직접 직접 할 수 있습니다.

df.columns = ['V', 'W', 'X', 'Y', 'Z']
df

   V  W  X  Y  Z
0  x  x  x  x  x
1  x  x  x  x  x
2  x  x  x  x  x


답변

.columns 속성에 할당하십시오.

>>> df = pd.DataFrame({'$a':[1,2], '$b': [10,20]})
>>> df
   $a  $b
0   1  10
1   2  20

>>> df.columns = ['a', 'b']
>>> df
   a   b
0  1  10
1  2  20


답변

팬더의 열의 이름을 바꾸는 것은 쉬운 작업입니다.

df.rename(columns={'$a': 'a', '$b': 'b', '$c': 'c', '$d': 'd', '$e': 'e'}, inplace=True)


답변

Rename 메소드는 기능을 수행 할 수 있습니다.

In [11]: df.columns
Out[11]: Index([u'$a', u'$b', u'$c', u'$d', u'$e'], dtype=object)

In [12]: df.rename(columns=lambda x: x[1:], inplace=True)

In [13]: df.columns
Out[13]: Index([u'a', u'b', u'c', u'd', u'e'], dtype=object)


답변

텍스트 데이터 작업에 문의되어있는 것처럼 :

df.columns = df.columns.str.replace('$', '')


답변

DATASET 이름이 DF 인 경우 DF가 있다고 가정하십시오.

df = ['$a', '$b', '$c', '$d', '$e']`

그래서, 이것을 바꾸려면, 우리는 단순히 할 것입니다.

df.columns = ['a','b','c','d','e']
출처:https://stackoverflow.com/questions/11346283/renaming-column-names-in-pandas