728x90
[Pandas] loc, iloc, at, iat 메소드 비교
pandas dataframe에서 임의의 위치 데이터를 추출하거나 변경하는 경우에
loc, iloc, at, iat을 사용할 수 있다.
loc | iloc | at | iat | |
위치 지정 | X | O | X | O |
라벨명 지정 | O | X | O | X |
여러개의 요소 지정 | O | O | X | X |
슬라이스 표기 | O | O | X | X |
샘플 데이터 프레임을 먼저 생성해준다.
import pandas as pd
import names
from random import *
age = [randint(16, 19) for i in range(0, 101)]
gender = [choice(["male", "female"]) for i in range(0, 101)]
name = [names.get_first_name(gender=g) for g in gender]
cl = [choice(['A','B','C','D']) for i in range(0, 101)]
math = [randint(50, 100) for i in range(0, 101)]
english = [randint(50, 100) for i in range(0, 101)]
dic = {"age":age, "gender":gender, "name":name, "class":cl, "math":math, "english":english}
df = pd.DataFrame(dic)
loc
특정 범위의 데이터를 인덱싱할 때 사용된다.
나이가 18살인 name을 추출해보자.
df.loc[df['age'] == 18, 'name']
값 지정을 해줄 경우 나이가 18살인 name값을 일괄 변경 할 수 있다.
df.loc[df['age'] == 18, 'name'] = 'harry'
df.loc[df['age'] == 18, 'name']
iloc
n번째 행부터 n번째 행까지, n번째 컬럼부터 n번째 컬럼까지의 데이터를 인덱싱할 때 사용된다.
df.iloc[1:3, 0:4]
at
하나의 데이터를 인덱싱할 때 사용된다. 인덱스 값을 이용해서 가져올 수 있다
index가 5인 학생의 name을 다음과 같이 확인 할 수 있다.
df.at[5, 'name']
iat
n번째 행, n번째 컬럼의 값을 알고싶을 때 사용된다.
df.iat[4, 2]
참고
반응형
'👩💻 Develope > Python' 카테고리의 다른 글
[Numpy] 조건을 만족하는 위치의 인덱스 찾기 (np.where) (0) | 2024.01.08 |
---|---|
[Pandas] Apply (1) | 2024.01.03 |
[Python] TypeError: 'str' object does not support item assignment (0) | 2023.12.27 |
[Pandas] 컬럼 데이터 값 합치기 (0) | 2023.12.26 |
[Pandas] 컬럼 데이터 값 분리하기 (str.split, str.get) (1) | 2023.12.21 |