데이터 전처리
내가 원하는 데이터를 보기 위해 하는 모든 활동
실제 데이터는 원하는 형태로 구축되어있지 않다 > 하나하나 가공해서 활용해야 함.
데이터 전처리는 방향성을 갖고 해야함.
1) 데이터를 통해 무엇을 확인할 것인가?
2) 어떤 의사결정을 위해 필요한가?
3) 데이터를 통해 무엇을 얻고자 하는가?
1. Pandas
Python에서 데이터를 조작하고 쉽게 분석할 수 있게 도와주는 라이브러리
- 대용량 데이터 처리가 가능
- 데이터 조작 기능
- 데이터 시각화 기능 제공
- 데이터를 구조화하여 분석할 수 있음.
Pandas에는 두 가지 구조가 있음.
1) DataFrame = 표 형태
- Index : 각 아이템을 특정할 수 있는 고유의 값 (엑셀에서의 좌측 열 순서)
- Columns : 하나의 속성을 가진 데이터 집합
2) Series : 하나의 속성을 가진 데이터 집합
- value + index
Pandas 불러오기
import pandas as pd
2. 데이터 불러오기 / 저장하기
● 데이터 불러오기
# pd.read_excel('파일경로/파일명.확장자')
# 엑셀 불러오기
pd.read_excel('./파일명.xlsx') # ./ ==> 현재 내가 있는 위치라는 의미
# csv 파일 불러오기
pd.read_csv('./파일명.xlsx')
● 인덱스
데이터 프레임(Data Frame) 또는 시리즈(Series)의 각 행 또는 각 요소에 대한 식별자
인덱스의 특징
1) 고유성 : 각 행은 유일한 인덱스 값을 가져야함. 중복된 인덱스 값을 가질 수 없음.
2) 불변성 : 불변성을 가진다. 즉, 한 번 생성된 인덱스는 변경(수정)할 수 없음.
# 단, 새로운 값을 할당하여 기존 인덱스를 대체하는 것은 가능.
3) 조작 및 탐색 : 인덱스를 사용하여 데이터 프레임 또는 시리즈의 특정 행을 선택하거나 탐색할 수 있음.
4) 정렬 : 인덱스를 기준으로 데이터프레임 또는 시리즈의 행을 정렬할 수 있음.
기본 인덱스 예시)
import pandas as pd
# 기본 정수 인덱스를 가진 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
사용자 지정 인덱스 예시)
# 사용자가 직접 인덱스를 설정한 데이터프레임 생성
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']}, index=['idx1', 'idx2', 'idx3'])
인덱스 활용 예시1) - 정렬
# 특정 인덱스의 행에 접근
row = df.loc['idx2']
# 인덱스를 기준으로 데이터프레임 정렬
sorted_df = df.sort_index()
인덱스 활용 예시2) - 특정 컬럼에 들어있는 값 인덱스로 활용하기
# df가 가지고 있는 특정 컬럼명을 기준으로 인덱스를 설정하기
data = df.set_index('컬럼명')
data.head()
# 불러올때 인덱스 지정하기
pd.read_csv('./data/file.csv' , index_col = '컬럼정보')
pd.read_csv('./data/file.csv' , index_col = 0) # 0부터 시작
데이터 프레임.index를 통해 인덱스 확인하기
#인덱스 확인하기
data.index
#리스트 형태를 활용해서 인덱스를 새로 입력할 수 있습니다.
data.index = ['1번' , '2번' , '3번']
data
reset_index()를 활용하여 현재 인덱스를 0부터 시작하는 정수로 변경할 수 있음.
# reset_index() 의 기본 값은 drop = False 를 가지고 있습니다.
data.reset_index()
# 현재 인덱스를 컬럼으로 변경할 수 있습니다.
# reset_index(drop = True) 명령어를 활용하면,
# 현재 인덱스 값을 컬럼으로 변경하지 않고 인덱스를 초기화할 수 있습니다
data.reset_index(drop=True)
● 컬럼(Column)
Data Frame의 세로 한 줄이라고 보면됨. 시리즈 데이터
1) 컬럼명 변경하기
pd.read_csv('./data/file.csv' , names = [’컬럼명1’, ‘컬럼명2’, … ,‘컬럼명 19’])
2) 컬럼 확인하기
#컬럼 확인하기
data.column
#리스트 형태를 활용해서 컬럼명을 새롭게 입력할 수 있습니다.
data.column = ['축구', '농구', '배구', '야구']
data
데이터 저장하기
df = 데이터프레임 # 저장하고 싶은 데이터
df.to_csv('파일경로/파일명.확장자', index = False)
'TIL > 전처리, 시각화' 카테고리의 다른 글
전처리 <그룹 내 데이터 최빈값으로 대체하기> (0) | 2024.07.28 |
---|---|
데이터 전처리 <IQR 이상치 제거> (1) | 2024.07.26 |
데이터 시각화1 (1) | 2024.07.22 |
데이터 전처리2 (0) | 2024.07.19 |