본문 바로가기
파이썬엑셀

파이썬 엑셀 DataFrame 마스터: 데이터 탐색의 모든 것

by mypick 2024. 10. 20.

엑셀 파일을 다루는 일이 잦으신가요? 혹시 엑셀 데이터를 분석하고 싶은데, 어디서부터 시작해야 할지 막막하신가요? 그렇다면 파이썬과 판다스(Pandas) 라이브러리를 활용해보세요! 파이썬은 데이터 분석에 널리 쓰이는 언어이고, 판다스는 파이썬에서 엑셀 파일을 다루고 데이터를 분석하는 데 핵심적인 역할을 하는 라이브러리에요. 특히 판다스의 DataFrame은 엑셀의 표처럼 데이터를 구조화하여 쉽게 이해하고 분석할 수 있도록 도와줘요. 오늘은 DataFrame을 사용하여 엑셀 데이터를 탐색하고 확인하는 방법을 찬찬히 알아보도록 할게요.

 


DataFrame으로 엑셀 데이터 엿보기: 데이터 미리보기와 기본 정보 살펴보기

DataFrame을 처음 접하시는 분들은 어떤 데이터가 들어있는지 궁금하실 거예요. 마치 엑셀 파일을 열어 처음 몇 줄을 확인하듯, DataFrame에도 데이터를 슥 훑어볼 수 있는 방법들이 있답니다.

 


1. head()와 tail(): 데이터 맛보기

엑셀에서 처음 몇 행을 보려면 맨 위로 스크롤하죠? DataFrame에서도 비슷하게  함수를 사용하면 데이터의 처음 몇 행을 쉽게 확인할 수 있어요. 기본적으로 5개의 행을 보여주지만, 괄호 안에 원하는 행의 개수를 입력하면 그만큼만 보여주도록 설정할 수도 있답니다. 예를 들어, 이라고 입력하면 처음 10개의 행을 볼 수 있죠.

 

마찬가지로, 엑셀 파일의 맨 아래를 보려면 스크롤을 아래로 내리듯, DataFrame에서  함수를 사용하면 데이터의 맨 마지막 몇 행을 확인할 수 있어요. 와 마찬가지로 기본값은 5개의 행이고, 괄호 안에 원하는 행의 개수를 지정하면 그만큼의 행을 보여줍니다.

 

데이터를 처음 열어볼 때, 와  함수를 사용해서 데이터의 시작과 끝 부분을 살펴보는 건 굉장히 중요해요. 어떤 종류의 데이터가 들어있는지, 데이터의 형태가 어떤지 빠르게 파악하는 데 도움이 되거든요.

 

마치 낯선 도시에 처음 도착했을 때, 지도를 펼쳐보고 어디에 있는지, 어디로 가야 하는지 확인하는 것과 비슷하다고 할 수 있죠.  데이터 탐색의 첫걸음인 셈이에요.

 


2. info(): DataFrame의 신상명세서 확인하기

엑셀 파일의 데이터를 자세히 들여다보려면 워크시트 탭에서 '데이터' 탭으로 이동해서 '데이터 검사'를 클릭하거나, '파일' 탭에서 '정보'를 클릭해서 엑셀 파일의 속성을 확인하곤 하죠? DataFrame의 경우에는  함수를 사용하면 데이터의 기본 정보를 깔끔하게 확인할 수 있어요.

 

 함수는 DataFrame에 포함된 행과 열의 개수, 각 열의 데이터 타입, 그리고 각 열에 있는 데이터의 개수와 결측치 여부를 알려줍니다.

 

데이터 분석을 시작하기 전에  함수를 통해 데이터의 전반적인 구조와 특징을 파악하는 건 매우 중요해요. 이 정보를 바탕으로 어떤 식으로 데이터를 다룰지, 어떤 분석 방법을 적용할지 전략을 세울 수 있거든요.

 

마치 레스토랑에 가서 메뉴판을 보고 어떤 음식을 주문할지 결정하는 것과 같다고 할 수 있죠.   함수는 데이터 분석의 메뉴판이라고 생각하면 돼요.

 


3. shape: DataFrame의 크기 재보기

엑셀 파일의 행과 열 개수를 확인하려면 엑셀의 상태 표시줄을 보면 쉽게 알 수 있죠. DataFrame에서도  속성을 사용하면 DataFrame의 크기를 간단하게 확인할 수 있어요.

 

 속성은 튜플(tuple) 형태로 행의 개수와 열의 개수를 반환합니다. 예를 들어, 라고 출력된다면 DataFrame이 100개의 행과 5개의 열로 구성되어 있다는 의미에요.

 

데이터 분석을 시작하기 전에 데이터의 크기를 확인하는 건 필수적이에요. 특히 데이터가 매우 크거나 작을 경우, 어떤 분석 방법을 사용해야 할지, 혹은 데이터를 어떻게 처리해야 할지 결정하는 데 도움이 되거든요.

 

자, 이제 DataFrame을 이용해 데이터를 엿보는 기본적인 방법들을 알아봤어요. , , ,  함수들을 활용하면 엑셀 파일을 열어 데이터를 확인하는 것처럼, DataFrame의 데이터를 쉽고 빠르게 살펴볼 수 있답니다. 이제 다음 단계로 넘어가서 좀 더 자세한 내용들을 알아볼까요?

 


DataFrame 데이터 들여다보기: 핵심 정보 뽑아내기

DataFrame의 기본적인 정보를 확인했으니, 이제 DataFrame의 데이터를 좀 더 자세히 살펴볼 차례에요. 엑셀에서 필터링, 정렬, 통계 함수를 사용하듯, DataFrame에서도 다양한 함수들을 사용해서 데이터를 분석하고 원하는 정보를 뽑아낼 수 있답니다.

 


4. describe(): 숫자 데이터의 주요 특징 요약하기

엑셀에서 데이터 분석 도구를 사용하여 평균, 표준편차, 최대값, 최소값 등을 계산하듯이, DataFrame에서도  함수를 사용하면 숫자형 데이터의 기본적인 통계량을 쉽게 얻을 수 있어요.

 

 함수는 데이터의 개수(count), 평균(mean), 표준편차(std), 최소값(min), 최대값(max), 그리고 25%, 50%, 75% 백분위수를 보여줍니다.

 

특히 숫자형 데이터의 분포를 파악하는 데 유용하며, 이상치를 감지하거나 데이터의 범위를 이해하는 데 도움을 줍니다.

 

예를 들어, 판매 데이터를 분석할 때  함수를 사용하면 각 상품의 판매량 평균, 표준편차, 최대/최소 판매량 등을 확인할 수 있고, 이를 통해 어떤 상품이 잘 팔리고 있는지, 어떤 상품의 판매량이 불규칙적인지 등을 알 수 있죠.

 

마치 여러 학생들의 성적표를 보고 평균, 표준편차, 최고/최저 점수 등을 파악하여 학생들의 성적 분포를 분석하는 것과 비슷해요.

 


5. nunique(): 각 열의 고유한 값 개수 세어보기

엑셀에서 고유한 값을 찾고, 그 개수를 세어본 적 있으신가요? DataFrame에서도  함수를 사용하면 각 열에 몇 개의 고유한 값이 있는지 쉽게 확인할 수 있어요.

 

 함수는 각 열의 고유한 값의 개수를 반환합니다. 예를 들어, '성별' 열에 '남성'과 '여성'이라는 두 가지 값만 있다면,  함수는 2를 반환하겠죠.

 

이 함수는 범주형 데이터를 분석할 때 특히 유용합니다. 예를 들어, 고객 데이터를 분석할 때 '지역' 열의 고유한 값의 개수를 확인하면 어떤 지역에 고객이 많이 분포하는지 알 수 있고, '직업' 열의 고유한 값의 개수를 확인하면 어떤 직업의 고객이 많은지 알 수 있죠.

 

마치 설문조사 결과를 분석할 때, 응답자들이 선택한 답변의 종류와 개수를 파악하는 것과 비슷해요.

 


6. unique(): 특정 열의 고유한 값 모두 확인하기

엑셀에서 '고급 필터' 기능을 사용하여 특정 열의 고유한 값을 추출한 적 있으신가요? DataFrame에서도  함수를 사용하면 특정 열의 고유한 값들을 모두 확인할 수 있어요.

 

 함수는 특정 열의 고유한 값들을 배열 형태로 반환합니다. 예를 들어, '지역' 열에 '서울', '부산', '대구', '대전', '광주'라는 값들이 있다면,  함수는 이 5개의 값을 포함하는 배열을 반환하겠죠.

 

이 함수는 범주형 데이터를 분석할 때, 혹은 데이터의 다양성을 파악할 때 유용합니다. 예를 들어, 제품 데이터를 분석할 때 '색상' 열의 고유한 값들을 확인하면 어떤 색상의 제품들이 있는지 알 수 있고, '브랜드' 열의 고유한 값들을 확인하면 어떤 브랜드의 제품들이 있는지 알 수 있죠.

 


7. sort_values(): 데이터 정렬하기

엑셀에서 데이터를 정렬하는 것처럼, DataFrame에서도  함수를 사용하여 특정 열을 기준으로 데이터를 정렬할 수 있어요.

 

 함수는  인수를 통해 정렬 기준이 되는 열을 지정하고,  인수를 통해 오름차순 또는 내림차순으로 정렬할지 결정합니다.

 

데이터를 특정 기준으로 정렬하면 데이터의 패턴을 파악하거나, 원하는 정보를 더 쉽게 찾는 데 도움이 됩니다. 예를 들어, 판매 데이터를 '판매량' 열을 기준으로 내림차순으로 정렬하면 가장 많이 팔린 상품부터 순서대로 확인할 수 있고, 학생 성적 데이터를 '점수' 열을 기준으로 오름차순으로 정렬하면 가장 낮은 점수부터 순서대로 확인할 수 있죠.

 


8. select_dtypes(): 특정 데이터 타입의 열만 선택하기

엑셀에서 '필터' 기능을 사용하여 특정 데이터 타입의 데이터만 추출한 적 있으신가요? DataFrame에서도  함수를 사용하여 특정 데이터 타입의 열만 선택할 수 있습니다.

 


 함수는  인수를 통해 선택할 데이터 타입을 지정합니다. 예를 들어, 숫자형 데이터만 추출하려면 를, 문자열 데이터만 추출하려면 를 사용하면 돼요.

 

이 함수는 데이터 분석 과정에서 특정 데이터 타입의 데이터만을 대상으로 분석을 수행해야 할 때 유용합니다. 예를 들어, 숫자형 데이터만을 사용하여 회귀 분석을 수행하거나, 문자열 데이터만을 사용하여 텍스트 분석을 수행할 때 사용하면 좋아요.

 

100 50,000 2023-04-27
신발 50 100,000 2023-04-26
가방 70 70,000 2023-04-28
모자 30 30,000 2023-04-25
시계 90 150,000 2023-04-27

상품명 판매량 가격 판매일자

 


DataFrame 데이터 탐색 실전 예시: 판매 데이터 분석

이번에는 실제 판매 데이터를 예시로 들어 DataFrame을 이용해 데이터 탐색을 어떻게 할 수 있는지 알아볼게요. 가상의 온라인 쇼핑몰 판매 데이터를 DataFrame으로 불러왔다고 가정해 봅시다. 이 데이터에는 상품명, 판매량, 가격, 판매일자 등이 포함되어 있어요.

 

먼저, 를 사용해서 데이터의 처음 몇 행을 살펴보고 어떤 데이터가 있는지 확인할 수 있습니다. 그리고 를 사용해서 데이터의 전체적인 구조를 파악하고, 으로 데이터의 행과 열 개수를 확인할 수 있죠.

 

이 데이터에서 어떤 정보를 얻고 싶은지 생각해 봅시다.

 

어떤 상품이 가장 많이 팔렸을까요?

상품별 평균 판매 가격은 얼마일까요?

판매량이 가장 많은 날은 언제일까요?

이러한 질문에 답하기 위해 DataFrame의 함수들을 활용해 볼 수 있어요.

 

df.sort_values(by='판매량', ascending=False) : 판매량을 기준으로 내림차순으로 정렬하여 가장 많이 팔린 상품을 확인할 수 있습니다.

df.groupby('상품명')['가격'].mean() : 상품명을 기준으로 그룹화하고, 각 상품의 평균 가격을 계산할 수 있습니다.

df.groupby('판매일자')['판매량'].sum() : 판매일자를 기준으로 그룹화하고, 각 날짜의 총 판매량을 계산하여 판매량이 가장 많은 날을 확인할 수 있습니다.

이처럼 DataFrame을 사용하면 엑셀에서 할 수 있는 다양한 분석 작업을 파이썬에서도 손쉽게 수행할 수 있습니다.

 

QnA 섹션

Q1. 판다스 라이브러리를 어떻게 설치하나요?

 

A1. 파이썬에서 판다스 라이브러리를 설치하려면 터미널이나 명령 프롬프트를 열고  명령어를 입력하면 됩니다.

 

Q2. DataFrame을 어떻게 생성하나요?

 

A2. 엑셀 파일을 읽어서 DataFrame을 생성하거나, 파이썬 리스트나 딕셔너리를 사용하여 DataFrame을 직접 생성할 수 있습니다. 엑셀 파일을 읽어 DataFrame을 생성하려면  함수를 사용하면 되고, 리스트나 딕셔너리를 사용하여 DataFrame을 생성하려면  함수를 사용하면 됩니다.

 

Q3. DataFrame에서 결측치는 어떻게 처리하나요?

 

A3. DataFrame에서 결측치를 처리하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 결측치를 삭제하거나, 평균값 또는 중앙값으로 대체하는 것입니다. 결측치를 삭제하려면  함수를 사용하고, 평균값 또는 중앙값으로 대체하려면  함수를 사용하면 됩니다.

 

이 포스팅이 파이썬과 판다스 라이브러리를 활용하여 엑셀 데이터를 탐색하고 분석하는 데 도움이 되었으면 좋겠어요. 데이터 분석은 쉬운 일이 아니지만, 꾸준히 노력하고 연습한다면 누구나 데이터를 분석하고 활용할 수 있답니다!

 

앞으로도 더 유용한 데이터 분석 정보들을 공유할 테니, 기대해주세요!

 

키워드

파이썬,엑셀,데이터분석,판다스,Pandas,DataFrame,데이터탐색,EDA,데이터확인,엑셀데이터분석,파이썬엑셀,데이터과학,Python,Excel,데이터시각화,데이터처리,엑셀자동화,데이터마이닝,데이터사이언티스트,데이터분석가,데이터활용,데이터분석기법,데이터분석툴,데이터분석교육,데이터사이언스교육,데이터분석스터디