Python Data/Python 실행

Pandas: 문자열에서 판다스 데이터프레임(pandas DataFrame) 생성하기

palefaceman 2022. 9. 16. 07:47

문자열(string)에서 아래 간단한 코드로 판다스 데이터프레임을 생성할 수 있다.

import pandas as pd
import io

df = pd.read_csv(io.StringIO(string_data),sep=",")

위의 문법은 'string_data'라는 문자열에서 입력된 값(value)으로 판다스 데이터프레임을 생성한다.

 

아래 예시에서 어떻게 문법을 사용하는 지 알아본다.

예시 1: 콤마로 문자열 값 나눠 데이터 프레임 생성하기

아래 코드에서 문자열(string)에 입력된 값으로부터 어떻게 ','로 구분하여 판다스 데이터프레임을 생성하는지 보여 준다.

import pandas as pd
import io

#define string
string_data="""points, assists, rebounds
5, 15, 22
7, 12, 9
4, 3, 18
2, 5, 10
3, 11, 5
"""

#create pandas DataFrame from string
df = pd.read_csv(io.StringIO(string_data), sep=",")

#view DataFrame
print(df)

   points   assists   rebounds
0       5        15         22
1       7        12          9
2       4         3         18
3       2         5         10
4       3        11          5

생성된 판다스 데이터프레임은 5행, 3열로 구성된다.

예시 2: 세미콜론으로 문자열 값 나눠 데이터 프레임 생성하기

아래 코드에서 문자열(string)에 입력을  ' ; ' 로 구분된 판다스 데이터프레임을 생성한다.

import pandas as pd
import io

#define string
string_data="""points;assists;rebounds
5;15;22
7;12;9
4;3;18
2;5;10
3;11;5
"""

#create pandas DataFrame from string
df = pd.read_csv(io.StringIO(string_data), sep=";")

#view DataFrame
print(df)

   points   assists   rebounds
0       5        15         22
1       7        12          9
2       4         3         18
3       2         5         10
4       3        11          5

그 결과 생성된 판다스 데이터프레임은 5행, 3열로 구성된다.

 

어떤 문자열이든 구분하여 나누기 싶다면 read_csv() 함수에 sep 인수(argument)를 활용하면 된다.

  

관련 포스팅