XL) Py - 데이터프레임(생성)

XL) Py - 데이터프레임(생성)

엑셀에서 파이썬 코드를 사용하여 데이터를 데이터프레임으로 만들고 이를 다루는 방법을 알아본다.


※ 본 내용의 완성본 파일은 XL_basic_dataframe.xlsx 이다.
XL_basic_dataframe.xlsx 다운받기 [클릭]

개요

엑셀에서 파이썬을 활용하여 데이터분석을 하기 위해서는 엑셀 시트에 있는 데이터를 별도의 파이썬 객체(object)로 저장해야 한다. 이를 위해서 xl() 함수를 사용하게 되는데 해당 함수를 복수개의 셀에 대해 사용하게 되면 데이터프레임을 반환한다. 이와 관련해서 알아보도록 한다.

실습

셀의 데이터를 파이썬 객체로 만들기 위해 사용되는 xl()은 대표적으로 다음과 같이 사용한다.

1
2
df1 = xl("B4:E4")
df2 = xl("B4:E4", header = True)

“header” 인자는 각 열에 해당되는 열이름(변수명, column name)이 있을 때 해당 내용까지 포함하여 데이터프레임 객체로 등록하고자 할 때 사용한다. 기본값은 False이며 xl() 함수 내에 지정한 셀 범위의 첫 행이 열이름이라고 엑셀이 판단하는 경우 자동으로 “header = True”코드를 추가한다.

그리고 객체 유형(type)을 확인하기 위한 함수는 type()로 데이터프레임 객체를 대상으로 사용하는 경우 다음과 같은 메세지를 확인할 수 있다.

1
2
type(df1)
## <class 'pandas.core.frame.DataFrame'>

1차원 가로 배열

데이터가 1차원 가로 배열인 경우에 대해 알아본다.

다음 스크린샷은 “df1”과 “df2” 객체 생성 및 확인에 대한 내용이다.
df1, df2 생성 및 확인

상기 스크린샷에 사용된 코드는 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
df1 = xl("B4:E4") # G4
type(df1) # G5
## <class 'pandas.core.frame.DataFrame'>

df1 # K4

df2 = xl("B7:E8", header = True) # G7
type(df2) # G8
## <class 'pandas.core.frame.DataFrame'>

df2 # K7

“df1” 객체는 변수명이 없고, “df2” 객체는 “A”, “B”, “C”, “D”가 각 열의 이름으로 등록된 것을 알 수 있다.

1차원 세로 배열

데이터가 1차원 세로 배열인 경우에 대해 알아본다.

다음 스크린샷은 “df3”과 “df4” 객체 생성 및 확인에 대한 내용이다.
df3, df4 생성 및 확인

상기 스크린샷에 사용된 코드는 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
df3 = xl("B4:B7") # G4
type(df3) # G5
## <class 'pandas.core.frame.DataFrame'>

df3 # K4

df4 = xl("D4:D8", headers=True) # G9
type(df4) # G10
## <class 'pandas.core.frame.DataFrame'>

df4 # K9

“df3” 객체는 변수명이 없고, “df4” 객체는 “v1”이 열이름으로 등록된 것을 알 수 있다.

2차원 배열

데이터가 2차원 배열인 경우에 대해 알아본다.

다음 스크린샷은 “df5”과 “df6” 객체 생성 및 확인에 대한 내용이다.
df5, df6 생성 및 확인

상기 스크린샷에 사용된 코드는 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
df5 = xl("B4:C6") # G4
type(df5) # G5
## <class 'pandas.core.frame.DataFrame'>

df5 # K4

df6 = xl("B9:C12", headers=True) # G9
type(df6) # G10
## <class 'pandas.core.frame.DataFrame'>

df6 # K9

“df5” 객체는 변수명이 없고, “df6” 객체는 “매장명”과 “매출”이 열이름으로 등록된 것을 알 수 있다.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×