오랑우탄의 반란

데이터 전처리 & 시각화 (3) Pandas 개념 익히기 1 본문

PYTHON/데이터분석

데이터 전처리 & 시각화 (3) Pandas 개념 익히기 1

5&2 2024. 7. 17. 16:37
반응형

 

오늘 오랑이는 pandas를 활용한 데이터 전처리에 대해 배울 예정입니다. 

 

지난 포스트에 이어 Pandas 의 기초 개념 몇 가지를 알아보겠습니다. 

 

 

Seaborn 라이브러리의 내장데이터셋을 통해 학습하도록 하겠습니다. 

  1. iris 데이터셋: 붓꽃의 꽃잎과 꽃받침의 길이와 너비를 포함한 데이터셋입니다.
  2. tips 데이터셋: 음식점에서의 팁과 관련된 정보를 담고 있는 데이터셋입니다.
  3. titanic 데이터셋: 타이타닉 호 승객들의 정보를 포함한 데이터셋입니다.
  4. flights 데이터셋: 연도별 항공편 정보를 담고 있는 데이터셋입니다.
  5. planets 데이터셋: 외계 행성 발견에 대한 정보를 담고 있는 데이터셋입니다.

 

1 데이터셋 불러오기 및 저장하기

불러오기

seaborn 라이브러리를 import 해 tips 데이터셋을 불러오고 데이터가 잘 들어가 있는지 확인합니다.

import seaborn as sns

data = sns.load_dataset('tips') # 'tips' 데이터셋 불러오기
print(data.head()) # 데이터셋 확인

 

dataframe 을 위에서부터, 밑에서부터 출력해주는 함수로, 데이터셋을 불러올 때 제대로 들어있는지 간단하게 확인하는 용도입니다. 

df.head(n)
df.tail(n)

 

 

저장하기

불러온 데이터를 csv, excel 등의 파일로 저장할 수 있습니다. 

이때 인덱스 설정을 따로 하지 않을 경우 인덱스도 자동으로 저장되는데, 저장된 파일을 다시 불러와서 볼 때 인덱스를 보고싶지 않으면 미리 저장할 때 index = False 를 지정해주면 됩니다. 

data.to_csv("temp/tips_data.csv")
data.to_excel("temp/tips_data.xlsx",index=False)

temp 폴더에 저장된 csv, xlsx 파일

 

 

이번엔 미리 저장해둔 데이터셋을 불러와서 확인해줍니다. 

저장 시 인덱스 설정을 하지 않았다면, 불러올 때 index_col = 0 으로 설정해서 보면 됩니다.

df = pd.read_csv("tips_data.csv", index_col=0)
df

(좌) 인덱스 설정 無 (우) 인덱스 설정 有

 

 

2 인덱스

인덱스에 대해 구체적으로 알아봅시다. 

df = pd.DataFrame({
    'A': [1,2,3],
    'B':['a','b','c']
})

 

위 딕셔너리 형태의 데이터에 대해 데이터프레임으로 불러오면 자동으로 좌측에 인덱스가 붙습니다. 

index 변수를 설정해 인덱스명을 지정할 수 있습니다. 

(좌) 인덱스 기본 (우) 인덱스명 추가

 

.index

인덱스명과 데이터타입을 확인할 수 있으며, 이를 변수로 사용해서 새로운 인덱스값을 부여할 수 있습니다.

 

.reset_index()

위에서 함수를 사용해 설정한 인덱스명을 초기화시킬 수 있으며, drop=True 를 변수로 넣으면 인덱스명 칼럼 자체를 없애고 기본 인덱스만 남길 수 있습니다. 

 

.loc[]

특정 인덱스명으로 그 인덱스 행에 해당하는 데이터와 데이터타입을 출력할 수 있습니다.

 

sort_index()

자세히 봤다면 앞에서 인덱스명을 거꾸로 설정했는데, 인덱스명을 오름차순으로 정렬해 데이터 위치도 함께 정렬됩니다.

 

.set_index()

칼럼명을 변수로 받으며 해당 칼럼을 새로 인덱스로 지정해줍니다. 

 

 

3 칼럼

칼럼에 대해 알아봅시다.

아래와 같이 딕셔너리 형태의 데이터셋을 만들어주고 데이터프레임으로 변환하면 표 형식으로 볼 수 있습니다. 

data = {
    'name': ['Alice','Bob','Charlie'],
    'age': [25,30,35],
    'gender':['female','male','male']
}

df = pd.DataFrame(data)

 

dataset[칼럼명] 

인덱스와 함께 목록형으로 칼럼명을 확인할 수 있습니다. 

 

.columns

리스트 형태로 칼럼명 출력, 변수로 설정해서 리스트에 새로운 칼럼명을 넣어 이름을 재지정 할 수 있습니다. 

 

.rename(columns = {'before' : 'after'})

before 에 구 칼럼명, after에 신 칼럼명을 넣어 칼럼명을 바꿀 수 있습니다. 

 

dataset[칼럼명] = 값

새로운 칼럼을 추가할 수 있습니다. 칼럼을 추가하고 인덱스별로 값을 다르게 할 경우 값을 딕셔너리 형태로 인덱스와 매칭 해서 넣어줍니다. 

 

del dataset[칼럼명]

칼럼을 삭제할 수 있습니다. 

 

 

 

지금까지 pandas 를 활용한 데이터셋 불러오기/저장하기, 인덱스, 칼럼을 알아봤습니다. 

 

다음 포스트에서 이어서 보겠습니다. 

 

 

 

오랑우탄이 영어를 하고 오랑이가 코드마스터가 되는 그날까지~

 

 

 

반응형