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

Python Pandas에서 문자열 데이터로 DataFrame 생성하는 방법

Pandas는 일반적으로 CSV 파일을 읽어 DataFrame을 생성하는 데 많이 사용되지만, 파일이 아닌 문자열(string) 형태의 데이터로도 동일한 작업을 수행할 수 있습니다. 이 글에서는 문자열 데이터를 활용해 Pandas DataFrame을 구성하는 방법을 알아보겠습니다.

StringIO를 활용한 문자열 데이터 처리

문자열 데이터를 CSV처럼 다루려면 io 모듈의 StringIO 래퍼(wrapper)를 사용해야 합니다. StringIO는 문자열을 마치 파일 객체처럼 취급할 수 있게 해주기 때문에, pd.read_csv() 함수가 문자열 데이터를 CSV 리더를 통해 읽은 것과 동일하게 처리할 수 있습니다.

아래 예제에서는 각 필드가 세미콜론(;)으로 구분된 문자열 데이터를 사용합니다.

예제 코드

다음 코드를 통해 실제 구현 과정을 확인해 보겠습니다.

import pandas as pd
from io import StringIO

str_data = StringIO("""Id;Subject;Course_Fee
    10;DBMS;3000
    11;Basic Maths;2000
    12;Data Science;40000
    13;Algorithm;5000
    """)

df = pd.read_csv(str_data, sep=";")
print(df)

실행 결과

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

   Id       Subject  Course_Fee
0  10          DBMS        3000
1  11  Basic Maths        2000
2  12  Data Science       40000
3  13     Algorithm        5000

핵심 포인트 정리

  • StringIO는 문자열을 파일 객체처럼 다룰 수 있게 해주는 도구입니다.
  • pd.read_csv()sep 매개변수를 사용하면 쉼표 외에 세미콜론 등 다양한 구분자를 지정할 수 있습니다.
  • API 응답, 웹 스크래핑 결과 등 파일 저장 없이 바로 문자열 데이터를 DataFrame으로 변환해야 할 때 특히 유용합니다.

이처럼 StringIOpd.read_csv()를 조합하면 별도의 파일 생성 과정 없이 문자열 데이터를 손쉽게 DataFrame으로 변환할 수 있습니다.