학습목표

  1. 수치해석 라이브러리인 numpy의 이해 및 사용
  2. 데이터 분석 라이브러이인 pandas의 이해 및 사용

csv 데이터로 부터 Dataframe 생성

  • 데이터 분석을 위해, dataframe을 생성하는 가장 일반적인 방법
  • 데이터 소스로부터 추출된 csv(comma separated values) 파일로부터 생성
  • pandas.read_csv 함수 사용
In [3]:
import pandas as pd
In [9]:
# data 출처: https://www.kaggle.com/hesh97/titanicdataset-traincsv/data
train_data = pd.read_csv('../train.csv')
train_data.head()
# 콘솔 창은 EUC-KR인데, 주피터 노트북은 utf-8이다.
Out[9]:
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S

read_csv 함수 파라미터

  • sep - 각 데이터 값을 구별하기 위한 구분자(separator) 설정
  • header - header를 무시할 경우, None 설정
  • index_col - index로 사용할 column 설정
  • usecols - 실제로 dataframe에 로딩할 columns만 설정
In [12]:
train_data = pd.read_csv('../train.csv', index_col='PassengerId', usecols=['PassengerId', 'Survived', 'Pclass', 'Name'])
train_data.head()
Out[12]:
Survived Pclass Name
PassengerId
1 0 3 Braund, Mr. Owen Harris
2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th...
3 1 3 Heikkinen, Miss. Laina
4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel)
5 0 3 Allen, Mr. William Henry
In [13]:
train_data.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 891 entries, 1 to 891
Data columns (total 3 columns):
 #   Column    Non-Null Count  Dtype 
---  ------    --------------  ----- 
 0   Survived  891 non-null    int64 
 1   Pclass    891 non-null    int64 
 2   Name      891 non-null    object
dtypes: int64(2), object(1)
memory usage: 27.8+ KB