Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas – read_csv()의 names 매개변수로 열 이름 명시적으로 지정하기

Pandas DataFrame에서 열 이름(헤더)을 명시적으로 지정하려면 read_csv() 메서드의 names 매개변수를 사용하면 됩니다. 먼저 Microsoft Excel로 열어 본, 헤더가 없는 CSV 파일의 예는 다음과 같습니다.

Python Pandas – read_csv()의 names 매개변수로 열 이름 명시적으로 지정하기

이제 CSV 파일에서 데이터를 불러오면서 names 매개변수를 활용해 헤더 열을 추가해 보겠습니다.

pd.read_csv("C:\\Users\\amit_\\Desktop\\TeamData.csv", names=['Team', 'Rank_Points', 'Year'])

전체 예제 코드

다음은 전체 과정을 담은 완성된 코드입니다.

import pandas as pd

# CSV 파일에서 데이터를 불러와 Pandas DataFrame으로 생성
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\TeamData.csv")
print("헤더 없이 CSV 파일 읽기...\n", dataFrame)

# names 매개변수로 헤더(열 이름) 추가
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\TeamData.csv", names=['Team', 'Rank_Points', 'Year'])

# 헤더가 업데이트된 CSV 파일 다시 읽기
print("\n헤더 업데이트 후 CSV 파일 읽기...\n", dataFrame)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Reading the CSV file without headers...
    Australia  2500  2021
0 Bangladesh  1000  2021
1    England  2000  2021
2      India  3000  2021
3   Srilanka  1500  2021

Reading the CSV file after updating headers...
         Team  Rank_Points   Year
0  Australia         2500   2021
1 Bangladesh         1000   2021
2    England         2000   2021
3      India         3000   2021
4   Srilanka         1500   2021

핵심 포인트

  • 헤더가 없는 CSV 파일을 read_csv()로 그냥 읽으면 첫 번째 데이터 행이 열 이름으로 잘못 인식됩니다. 위 실행 결과의 첫 번째 출력에서 'Australia' 행이 열 레이블로 표시된 것을 확인할 수 있습니다.
  • names 매개변수에 열 이름 리스트를 전달하면 각 열에 원하는 이름이 순서대로 지정되어 이 문제를 깔끔하게 해결할 수 있습니다.
  • 만약 원본 파일에 이미 헤더 행이 포함되어 있다면 header=0 옵션을 함께 지정해야 기존 헤더가 데이터로 처리되지 않고 새로운 열 이름으로 대체됩니다.