>

데이터 프레임에서 열 이름을 바꾸고 싶습니다. 데이터가 즉시 제공되며 열 이름에 영어 이외의 문자도 포함될 수 있습니다. 그래서 나는 다음과 같은 것을 찾고 있습니다 :

df = df.rename(columns={'string include (oldName1)': 'newName1', 'string include (oldName2)': 'newName2'}

Pandas의 현재 이름 바꾸기 기능은 다음과 같습니다.

df = df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'})

이 함수에는 정확한 열 이름 'oldName1'이 필요합니다. 이전 이름에 'oldName1'과 같은 문자열이 포함되어 있어도 열의 이름을 바꾸고 싶습니다.

  • 답변 # 1

    df.columns.str.contains 를 사용할 수 있습니다 :

    df = pd.DataFrame({'oldName1': [1,1], 'zzzoldName2': [2,2], 'someoldName3': [3,3]})
    converters = {'oldName1': 'newName1','oldName2': 'newName2','oldName3': 'newName3'}
    conversion_map = {df.columns[df.columns.str.contains(old)][0]: new for old, new in converters.items()}
    df.rename(columns=conversion_map)
    >>    newName1  newName3  newName2
    0         1         3         2
    1         1         3         2
    
    

    와이즈 비즈  첫 번째 경기를 반환하므로 [0] 를 확인하십시오.  이름이 어떻게 바뀌는 지 확인하십시오. 이런 식으로 이름을 찾을 수 없으면 conversion_map 가 발생합니다

    IndexError

관련 자료

  • 이전 java : 비트 조작으로 뷰의 가시성을 반전하는 방법
  • 다음 javascript - 텍스트로 td 테두리를 만드는 방법