본문 바로가기

데이터 분석

파이썬 판다스 실무 데이터 분석 (1)

반응형

 

 

파이썬 판다스를 사용하면 현재 가진 데이터에서 빠르게 원하는 정보를 얻을 수 있습니다. 마케팅과 같이 데이터에 대한 전문성이 높지 않지만 데이터를 활용할 수 있는 분야에서 판다스 활용 능력은 업무에 많은 도움이 됩니다. 이번 시간에는 판다스를 활용하여 다양한 실무 데이터 분석을 해보도록 하겠습니다. 

 

 

 
 

데이터 불러오기

 

 

import pandas as pd
hotels = pd.read_csv("hotel_booking_data.csv")

 

 

파이썬에서 판다스 라이브러리를 불러오고 'hotel_booking_data' 데이터를 가져옵니다. 데이터 파일은 'hotels'라는 별칭을 지정합니다.  

 

 

hotels.head()

 

 

 

 

head 함수를 사용하여 대략적인 데이터 구성을 보면 총 36개의 열을 확인할 수 있습니다.  

 

 

hotels.info()

 

 

 

 

info 함수를 사용하여 어떤 열 데이터가 있는지 확인할 수 있습니다. 

 

 

len(hotels)

 

 

len 함수를 사용하면 총 행 수를 확인할 수 있습니다. hotels 데이터의 총 행 수는 119390개 입니다. 

 

 

 
 

실무 업무 1: Null 데이터가 있는 열 확인

 

 

hotels.isnull().sum()

 

 

 

 

결과를 보면 company 열의 데이터 중 무려 1122593개의 null값을 확인할 수 있습니다. 

 

 

 
 

실무 업무 2: Company 열 삭제하기

 

 

hotels = hotels.drop('company',axis=1)

 

 

drop 함수를 사용하여 'company'열을 삭제합니다. 열을 삭제하기 때문에 열을 의미하는 axis=1을 입력합니다. 

 

 

 
 

실무 업무 3: 상위 5개의 국가 코드 찾기

 

 

hotels['country'].value_counts()[:5]

 

 

 

 

value_counts 함수를 사용하여 불러온 데이터의 country 열 값의 총합을 구하고 상위 5개의 값을 출력합니다. 결과를 보면 PRT, GBR, FRA, ESP 그리고 DEU 국가 코드를 가진 국가에서 호텔 예약이 많은 것을 확인할 수 있습니다. 

 

 

 
 

실무 업무 4: 평균적으로 가장 높은 호텔 비용을 지불한 사람 찾기

 

 

현재 데이터에서 호텔 평균 비용을 나타내는 열은 'ADR' (average daily rate)입니다.

 

 

hotels.sort_values('adr',ascending=False)[['adr','name']].iloc[0]

 

 

 

 

sort_values 함수를 사용하여 'adr' 열 값을 내림차순으로 정리합니다. 정리한 데이터에서 'adr'과 'name' 열 값만 출력합니다. 마지막으로 첫 번째 행 (iloc[0])에 있는 데이터만 출력합니다. 결과를 보면 평균적으로 가장 높은 비용의 호텔비를 지불한 사람은 Daniel Walter이며 평균 비용은 $5400입니다.

 

 

 
 

실무 업무 5: 평균 호텔 숙박 기간 구하기

 

 

hotels['total_stay_days'] = hotels['stays_in_week_nights'] + hotels['stays_in_weekend_nights']
round(hotels['total_stay_days'].mean(),2)

 

 

불러온 데이터에 'total_stay_days'라는 새로운 열을 만들어 줍니다. 새로운 열의 값 'stays_in_week_nights' 값과 'stays_in_weekend_nights' 값을 합친 값, 즉 평일 숙박 기간과 주말 숙박 기간을 합친 값입니다. 그리고 mean 함수를 사용하여 total_stay_days 열 값의 평균을 계산하고 round 함수를 사용하여 소수점 둘째 자리까지 출력합니다. 그러면 3.43이라는 평균값을 구할 수 있습니다. 현재 데이터에 있는 사람들은 평균적으로 3일 동안 호텔에 숙박한 것을 알 수 있습니다.  

 

 

 


 

 

 

지금까지 판다스를 활용한 실무 데이터 분석을 해봤습니다. 판다스를 활용할 수 있으면 상대적으로 단순한 데이터 분석을 빠르게 할 수 있습니다. 다음 글에서 실무 데이터 분석을 이어서 진행하도록 하겠습니다.

 

 

 

 

Matplotlib 기본 라인 그래프 만들기

데이터분석은 데이터에서 인사이트를 발견하고 발견한 사실을 데이터에 대한 지식이 없는 분들도 쉽게 이해할 수 있도록 데이터를 시각화하는 작업이 필요합니다. 파이썬에서 제공하는 Matplotli

thespud.kr

 

 

 

Pandas 피벗 테이블 만들기

데이터프레임의 데이터가 복잡하고 많으면 원하는 정보를 얻기 힘듭니다. 데이터를 정렬하여 원하는 정보를 빨리 찾기 위해서 피벗 테이블을 활용할 수 있습니다. 판다스의 피벗 테이블은 엑셀

thespud.kr

 

 

 

Pandas Null값 관련 함수

데이터분석을 할 때 가장 방해되는 요소 중 하나가 Null값 입니다. 특히, 숫자의 계산이 필요한 경우 null값은 계산의 부정확성을 증가시킵니다. 임의로 값을 변경할 경우 정확한 분석을 할 수 없

thespud.kr

 

반응형