# 데이터 불러오기
import pandas as pd
titanic = pd.read_csv("https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv")
titanic.head()
# 특정 열 선택하기
# 단일 열 선택: the age of the Titanic passengers
# titanic 데이터의 "Age" 열만 선택하여 추출
ages = titanic["Age"]
ages.head()
# 데이터 유형 확인: 단일 열만 선택하면 Seireis로 반환된다
type(titanic["Age"])
# 행 개수 확인(단일 열이므로): (행, )
titanic["Age"].shape
# 복수 열 선택: the age and sex of the Titanic passengers
# titanic 데이터의 "Age"와 "Sex" 열 선택하여 추출
age_sex = titanic[["Age", "Sex"]]
age_sex.head()
# 데이터 유형 확인: 복수 열을 선택하면 DataFrame으로 반환된다
type(titanic[["Age", "Sex"]])
# 행과 열 개수 확인: (행, 열)
titanic[["Age", "Sex"]].shape
# 특정 행 필터링하기
# 조건식 이용하기: the passengers older than 35 years
# titanic 데이터에서 "Age"가 35보다 큰 행만 선택하여 추출
above_35 = titanic[titanic["Age"] > 35]
above_35.head()
# titanic 데이터에서 "Age"가 35보다 큰 행만 선택하여 추출(2)
titanic["Age"] > 35
# 조건을 만족하는 행 개수 확인: (행, 열)
above_35.shape
# 조건부 함수 이용하기: the Titanic passengers from cabin class 2 and 3
# titanic 데이터에서 "Pclass"가 2 또는 3인 행만 선택하여 추출
class_23 = titanic[titanic["Pclass"].isin([2, 3])]
class_23.head()
# titanic 데이터에서 "Pclass"가 2 또는 3인 행만 선택하여 추출(2)
class_23 = titanic[(titanic["Pclass"] == 2) | (titanic["Pclass"] == 3)] # | = or
class_23.head()
# 값이 있는 행만 선택하기: passenger data for which the age is known
# titanic 데이터에서 "Age"가 NaN이 아닌 행을 선택하여 추출
age_no_na = titanic[titanic["Age"].notna()]
age_no_na.head()
# "Age" 값이 존재하는 행 개수 확인: (행, 열)
age_no_na.shape
# 특정 행과 열 선택하기
# loc를 사용하여 특정 행과 열 선택하기: the names of the passengers older than 35 years
# titanic 데이터에서 "Age"가 35보다 큰 행을 선택하고, 그중 "Name" 열만 선택하여 추출
adult_names = titanic.loc[titanic["Age"] > 35, "Name"]
adult_names.head()
# iloc를 사용하여 특정 행과 열 선택하기: rows 10 till 25 and columns 3 to 5
# titanic 데이터에서 10~25행과 3~5열을 선택하여 추출
titanic.iloc[9:25, 2:5]
# 특정 행과 열의 데이터에 새 값 할당하기
# titanic 데이터에서 1~3행의 네 번째 열의 값을 anonymous로 변경
titanic.iloc[0:3, 3] = "anonymous"
titanic.head()
# 기억할 것
- 데이터의 특정 부분을 선택할 때는 대괄호([])를 사용한다.
- 대괄호 안에서는 단일한 열/행 레이블, 열/행 레이블의 목록, 레이블의 범위, 조건 표현식 또는 콜론을 사용할 수 있다.
- 행과 열의 이름을 기준으로 데이터를 선택할 때는 loc을 사용한다.
- 데이터의 위치를 기준으로 데이터를 선택할 때는 iloc을 사용한다.
- loc/iloc을 기반으로 선택한 데이터에 새로운 값을 할당할 수 있다.
728x90
'Tutorial' 카테고리의 다른 글
[Pandas] How to manipulate textual data (0) | 2024.02.03 |
---|