✏️ 24.12.16 TIL

Dada·2024년 12월 16일

📅 TO DO


  • 데이터 전처리 & 시각화 1-3주차 수강
  • Python 라이브 세션 수강

📝 MEMO


▶ 데이터 전처리 & 시각화 - 1주차, 2주차
▶ 데이터 전처리 & 시각화 - 3주차

▶ 데이터 전처리 & 시각화 [Pandas]

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. 인덱스

  • Pandas는 기본적으로 0부터 시작하는 기본 정수 인덱스 제공
  • 그러나 사용자가 직접 지정할 수 있음
# 사용자가 직접 인덱스를 설정한 데이터 프레임 생성
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. 컬럼

  • 컬럼 (Column)
    • 데이터 프레임의 열을 나타냄
    • 데이터 프레임은 행과 열로 구성되며, 각 열은 서로 다른 종류의 데이터를 담고 있음
    • 데이터 프레임의 세로 방향에 있는 데이터들을 컬럼이라고 부름
# 예시
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)

0개의 댓글