▶ 데이터 전처리 & 시각화 - 1주차, 2주차
▶ 데이터 전처리 & 시각화 - 3주차
1. 데이터 불러오기
import pandas as pd
# 엑셀 불러오기
pd.read_excel('경로/파일명.xlsx')
# csv 파일 불러오기
pd.read_csv('경로/파일명.csv')
2. 데이터 저장하기
import pandas as pd
# csv 데이터 저장
data.to_csv('경로/파일명', index = False)
# 엑셀 데이터 저장
pd.read_csv('경로/파일명.csv', index = False)
3. 인덱스
# 사용자가 직접 인덱스를 설정한 데이터 프레임 생성
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']}, index = ['idx1', 'idx2', 'idx3'])
import pandas as pd
# 불러올 때 인덱스 지정
pd.read_csv('./data/file.csv' , index_col = '컬럼정보')
# 0부터 시작
pd.read_csv('./data/file.csv' , index_col = 0)
row = data.loc['indec']
sorted_data = data.sort_index()
set_index : 특정 컬럼에 들어있는 값을 인덱스로 활용# data 내의 특정 컬럼명 기준으로 인덱스 선정
data = data.set_index('컬럼명')
data.index : 인덱스 조회# 인덱스 조회하기
data.index
# 새로운 인덱스 입력
data.index = ['new_index1', 'new_index2', ...]
reset_index() : 인덱스를 기존 값으로 리셋# 인덱스 기존 값으로 리셋
data.reset_index()
# 현재 인덱스 값을 컬럼으로 변경하지 않고 초기화
# drop의 기본 값은 False - 생략 가능
data.reset_index(drop=True)
4. 컬럼
# 예시
import pandas as pd
# 데이터프레임 생성
data = {
'이름': ['Alice', 'Bob', 'Charlie'],
'나이': [25, 30, 35],
'성별': ['여', '남', '남']
}
df = pd.DataFrame(data)
# 각 컬럼 출력
print(df['이름']) # '이름' 컬럼 출력
print(df['나이']) # '나이' 컬럼 출력
print(df['성별']) # '성별' 컬럼 출력
pd.read_csv('./data/file.csv', names = [’컬럼명1’, ‘컬럼명2’, … ]
data.columns : 컬럼 확인#컬럼 확인하기
data.columns
#컬럼명 새로 입력
data.column = ['축구', '농구', '배구', '야구']
df.rename(columns={'원래_컬럼명' : '변경할_컬럼명'}) : 컬럼 이름 변경# 하나의 컬럼명 수정
data = data.rename(columns = {'축구': 'soccer'})
# 여러 개의 컬럼명 수정
data = data.rename(columns = {'농구': 'basketball', '배구': 'volleyball'})
# 컬럼 추가 기본 구조
data['컬럼명'] = '추가된_컬럼에_넣을_값'
# 컬럼 삭제 기본 구조
del data['삭제할_컬럼명']
# 컬럼 추가 - 스포츠 컬럼을 추가하고 스포츠 컬럼의 모든 행에 '축구' 추가
data['스포츠'] = '축구'
# 컬럼 삭제
del data['스포츠']
5. 데이터 확인
.head() : 데이터를 N개의 행까지 보여줌data.head() # head() - Default로 5개의 행까지만 보여줌
data.head(3) # 3개 행까지만 보여줌
.info() : 데이터의 정보 확인data.info()
# null 값을 확인할때도 활용
.describe(): 데이터의 기초통계량 확인data.describe()
# 숫자값에 대해서만 기초통계량 확인 가능
# 전체 테이블에 결측치 True, False로 표시
# null 값일 경우 True로 표시
data.isna()
# 특정 컬럼에 대해서만 조회
data['컬럼명'].isna()
# 조건 활용 - 특정 컬럼 기준 Null값을 가진 행만 조회
data[data['컬럼명'].isna()]
.dtype : 특정 컬럼의 데이터 타입 조회data['컬럼명'].dtype
.astype() : 데이터 타입 변경하기data['컬럼명'].astype(type)
# 예시 - total_bill 컬럼의 type을 string으로 변경하기
data['total_bill'].astype(str)