데이터프레임(DataFrame)은 데이터를 행과 열의 표 형태로 저장하는 2차원 데이터 구조입니다.
SQL 데이터 테이블이나 엑셀 시트와 유사하게 시각화할 수 있어, 표 형식의 데이터를 다룰 때 가장 널리 사용되는 자료구조 중 하나입니다.
데이터프레임은 다음과 같은 생성자를 통해 만들 수 있습니다.
pd.DataFrame(data, index, columns, dtype, copy)
여기서 'data', 'index', 'columns', 'dtype', 'copy' 매개변수는 모두 선택 사항이며, 반드시 지정하지 않아도 됩니다.
특히 딕셔너리의 리스트(list of dictionaries)를 데이터프레임의 입력값으로 전달할 수 있는데, 이 경우 각 딕셔너리의 키(key)가 기본적으로 열(column) 이름으로 사용됩니다. 아래 예제를 통해 살펴보겠습니다.
예제
import pandas as pd
my_data = [{'ab' : 34}, {'mn' : 56},{'gh' : 78}, {'wq' : 90},{'az' : 123},{'kl' : 45}]
my_df = pd.DataFrame(my_data)
print("딕셔너리 리스트로 생성한 데이터프레임 : ")
print(my_df)출력 결과
딕셔너리 리스트로 생성한 데이터프레임 :
ab az gh kl mn wq
0 34.0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN 56.0 NaN
2 NaN NaN 78.0 NaN NaN NaN
3 NaN NaN NaN NaN NaN 90.0
4 NaN 123.0 NaN NaN NaN NaN
5 NaN NaN NaN 45.0 NaN NaN코드 설명
필요한 라이브러리(pandas)를 임포트하고, 사용 편의성을 위해 별칭(alias)을 지정합니다.
각 딕셔너리에 하나의 키-값 쌍이 들어있는 딕셔너리들의 리스트를 생성합니다.
이런 방식으로 여러 개의 딕셔너리를 만들어 하나의 리스트에 저장합니다.
생성된 딕셔너리 리스트를 'pandas' 라이브러리의 'DataFrame' 함수에 매개변수로 전달합니다.
딕셔너리 리스트를 인자로 넘겨 데이터프레임이 생성됩니다.
완성된 데이터프레임을 콘솔에 출력합니다.
참고 − 출력 결과에 나타난 'NaN'은 'Not a Number(숫자가 아님)'를 의미하며, 해당 [행, 열] 위치에 유효한 값이 존재하지 않는다는 것을 나타냅니다. 위 예제에서는 각 딕셔너리가 서로 다른 키를 가지고 있기 때문에, 해당 키가 없는 행의 값은 모두 NaN으로 채워지게 됩니다.