본문 바로가기
Project/2023_데이터 시각화

Code 데이터 시각화 프로젝트 #1

by 23정원준 2023. 5. 29.

분석할 주제

  대부분은 대학교에 들어오면서 가격이 천차만별인 노트북 중 하나를 구매했을 것이다. 노트북은 다양한 부품들의 결합에 따라 가격이 좌우되는데, 우리 조는 특히 어떠한 부품이 가격형성에 주요한 영향을 주는지 분석하기로 했다.

프로세서명, ram의 용량&종류와 노트북 가격의 상관관계를 각각의 그래프를 통해 알아보기로 하였으며, 대표로 프로세서명과 가격의 상관관계를 분석한 코드를 티스토리에 정리해 보았다.


1. 글씨체 다운로드

  한글 폰트를 출력하기 위해 사용자가 별도로 설치해야 한다.  이 블록을 실행한 후 런타임을 재시작한다.


2. 구글 드라이브 연동

  드라이브에 저장된 파일을 시각화할 것이기에, 드라이브와 연동하는 과정을 거침으로써 해당 파일을 불러온다.

.mount() 함수를 사용하여 다른 파일 시스템에 엑세스할 수 있다.


3. 데이터 불러오기, 전처리

  전처리 과정에서는 pandas, numpy, matplotlib 모듈을 불러와 각각 pd, np, plt로 표기하여 사용하였다. 

csv 파일이란 텍스트를 쉼표(,)로 구분하여 저장하는 텍스트 파일 형식이다. 

8번째 줄의 코드는 지정된 파일 경로(/content/drive/MyDrive/)에서 "laptopPrice.csv"라는 CSV 파일을 읽는 데 사용된다.

여기서 encoding='cp949'는 CSV 파일이 한글 텍스트에 일반적으로 사용되는 cp949 인코딩 체계를 사용하여 인코딩되었음을 나타낸다.

((*인코딩: 데이터를 이진수(컴퓨터 언어)로 변환하는 과정))


4. 여러 속성 중 분석하고자 하는 속성 추출

  이 'latpop_price'라고 지정한 파일에는 다양한 속성(열)이 있는데, 그 중에서 분석하고자 하는 '프로세서명'과 '가격'을 df(dataframe)라고 지정하여 불러온다. 아래 사진은 코드와 그 코드의 출력값이다..


5. 같은 프로세서명끼리 묶기

  위의 사진에서 볼수 있듯이 프로세서명이 뒤죽박죽으로 섞여있다. 같은 프로세서명끼리 묶기 위해서 Core i3를 담을 빈 리스트를 생성하고, for문을 돌면서 '프로세서명'에 'Core i3'가 있으면 빈 리스트에 추가하는 코드를 짰다. 다른 프로세서명(총 11개)도 이와 마찬가지로 코드를 짰다.

새로운 list_C_R에 같은 프로세서명의 인덱스 리스트를 합치고, loc[] 함수를 이용하여 같은 프로세서명에 해당하는 row값('Price')을 추출한다. 그리고 reset_index() 함수를 사용하여 인덱스를 초기화시켜 0부터 시작하도록 한다. 결과는 아래 사진과 같이 나온다.


6. 같은 프로세서명의 가격 평균 구하기

  같은 프로세서라도 브랜드에 따라, 혹은 다른 부품의 성능에 따라 가격이 조금씩 다르고 이를 전부 다 고려할 순 없다. 그렇기에 우리 조는 같은 프로세서명의 다양한 가격을 평균을 내기로 결정했다.

이처럼 특정 프로세서의 가격 평균을 소수 둘째 자리까지 나타내는 코드를 짰다.

'processor_name' 열의 값이 'Core i3'인 행을 선택하고 선택된 행의 'Price' 열에 Core i3의 평균 가격을 할당한다.

다른 프로세서들도 이와 같은 코드를 적용한 후,

drop_duplicates() 함수를 이용하여 'processor_name' 열을 기준으로 df에서 중복된 행을 제거한다.  따라서 각 프로세서마다 하나의 행이 출력된다. 그리고 인덱스를 0부터 시작하도록 초기화시킨다. 아래 사진은 그 결과이다.


7. 그래프 그리기

  이 표를 시각화하는데 있어서 막대그래프가 좋을 것 같다고 판단하여, 막대그래프로 시각화하는 코드를 짰다.

x축에 프로세서명, y축에 평균 가격을 지정하였다

+ 비슷한 코드 구성으로 '램용량-가격' 그래프, '램 종류-가격' 그래프를 만들어봤다.


<결론>

  •  'ram용량-가격' 그래프에서 일반적으로 ram용량과 가격은 비례해야하지만 16GB 노트북 가격이 32GB 노트북 가격보다 높은 것을 확인할 수 있다. 이는 노트북의 가격이 ram용량보다 다른 부품/성능의 영향을 더 많이 받는 것을 알 수 있다.
  • '프로세서명-가격'  그래프에서 성능이 가장 좋은 Core i9의 가격이 가장 높은 것으로 보아, 프로세서의 성능이 노트북의 가격에 큰 영향을 미친다고 추론할 수 있다.
  • 'ram종류-가격' 그래프에서 램의 종류는 끝에 숫자가 클수록 최신세대로 속도가 빠르다. 그리고 LPDDR은 모바일에서 사용하기 위해 전력 소모량을 저전력 DDR램이다. 따라서 오른쪽으로 갈수록 성능이 좋다고 볼 수 있지만 ram종류와 가격 사이의 규칙성은 크게 보이지 않는다.