학습목표

  1. dataframe column 선택하기

column 선택하기

  • 기본적으로 [ ]는 column을 추출
  • 컬럼 인덱스일 경우 인덱스의 리스트 사용 가능
    • 리스트를 전달할 경우 결과는 Dataframe
    • 하나의 컬럼명을 전달할 경우 결과는 Series
In [2]:
import pandas as pd
In [3]:
# data 출처: https://www.kaggle.com/hesh97/titanicdataset-traincsv/data
train_data = pd.read_csv('./train.csv')
train_data.head()
Out[3]:
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

하나의 컬럼 선택하기

In [7]:
train_data['Survived']
Out[7]:
0      0
1      1
2      1
3      1
4      0
      ..
886    0
887    1
888    0
889    1
890    0
Name: Survived, Length: 891, dtype: int64
In [8]:
print(type(train_data))
print(type(train_data['Survived']))
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.core.series.Series'>

pd의 시리즈와 기본 제공함수인 칼럼과 함수 자체가 다르기 때문에 데이터 타입을 잘 살펴야한다.

복수의 컬럼 선택하기

In [15]:
df2=train_data[['Survived', 'Name', 'Age', 'Embarked']]
df2
#원본에 직접 손대려면 (inplace=True)를 사용해라
Out[15]:
Survived Name Age Embarked
0 0 Braund, Mr. Owen Harris 22.0 S
1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... 38.0 C
2 1 Heikkinen, Miss. Laina 26.0 S
3 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) 35.0 S
4 0 Allen, Mr. William Henry 35.0 S
... ... ... ... ...
886 0 Montvila, Rev. Juozas 27.0 S
887 1 Graham, Miss. Margaret Edith 19.0 S
888 0 Johnston, Miss. Catherine Helen "Carrie" NaN S
889 1 Behr, Mr. Karl Howell 26.0 C
890 0 Dooley, Mr. Patrick 32.0 Q

891 rows × 4 columns

In [12]:
train_data
Out[12]:
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
... ... ... ... ... ... ... ... ... ... ... ... ...
886 887 0 2 Montvila, Rev. Juozas male 27.0 0 0 211536 13.0000 NaN S
887 888 1 1 Graham, Miss. Margaret Edith female 19.0 0 0 112053 30.0000 B42 S
888 889 0 3 Johnston, Miss. Catherine Helen "Carrie" female NaN 1 2 W./C. 6607 23.4500 NaN S
889 890 1 1 Behr, Mr. Karl Howell male 26.0 0 0 111369 30.0000 C148 C
890 891 0 3 Dooley, Mr. Patrick male 32.0 0 0 370376 7.7500 NaN Q

891 rows × 12 columns