π΅Pandas 3. loc / iloc
π΅ 곡λΆνλ€ λ³΄λ loc / iloc ν¨μκ° μκ°λ³΄λ€ λ€μν κ²½μ°μ μ¬μ©κ°λ₯νλ€λ κ²μ μκ²λμλ€.
π΅ μ΄λ²μ μ 리ν΄λλ©΄ λμ€μ μ μ²λ¦¬λ₯Ό ν λ μ’ λ μμνκ² ν μ μμκ±° κ°μμ μ μ΄λλ€.
π΅ λ¨Όμ μ¬μ©ν λ°μ΄ν°νλ μμ νλ λ§λ€μ.
import pandas as pd
df = pd.DataFrame({'κ΅μ΄':[90, 85, 88],
'μν':[92, 88, 96],
'κ³Όν':[85, 92, 90]},
index = ['A','B','C'])
df
>>
κ΅μ΄ μν κ³Όν
A 90 92 85
B 85 88 92
C 88 96 90
1. νμ μ κ·Ό
π΅ loc( ) : μΈλ±μ€μ μ΄λ¦μ μΈμλ‘ λ°μ
df.loc['A']
>>
κ΅μ΄ 90
μν 92
κ³Όν 85
Name: A, dtype: int64
π΅ iloc( ) : μΈλ±μ€μ μμλ₯Ό μΈμλ‘ λ°μ(0,1,2β¦)
df.iloc[2]
>>
κ΅μ΄ 88
μν 96
κ³Όν 90
Name: C, dtype: int64
2. ν / μ΄μ μ κ·Ό
2.1. loc
π΅ loc( ) ν¨μλ₯Ό μ¬μ©νλ κ²½μ°μλ κΌ ν / μ΄μ μ΄λ¦μ μΈμλ‘ λ£μ΄μΌ νλ€!!
π΅ A : B ννλ‘ μ¬λΌμ΄μ± ν λ A,Bκ° characterλ©΄ Bλ ν¬ν¨λλ€.
df.loc[:, 'μν':'κ³Όν']
>>
μν κ³Όν
A 92 85
B 88 92
C 96 90
df.loc['A':'B', 'κ΅μ΄':'μν']
>>
κ΅μ΄ μν
A 90 92
B 85 88
μ΄λ κ² μνλ λΆλΆλ€μ μ¬λΌμ΄μ±ν΄μ κ°μ Έμ¬μ μκ³ ,
df.loc[['A','C'], ['κ΅μ΄','κ³Όν']]
>>
κ΅μ΄ κ³Όν
A 90 85
C 88 90
μνλ λΆλΆμ μΈλ±μ€ / μ΄ μ΄λ¦μ μ λ ₯νμ¬ κ°μ Έμ¬μλ μλ€.
π΅ df.loc[ df [column] ~쑰건, μ΄ ]
df.loc[df['μν'] >= 90, ['μν','κ³Όν']]
>>
μν κ³Όν
A 92 85
C 96 90
df.loc[df['μν'] >= 90, 'κ΅μ΄':'μν']
>>
κ΅μ΄ μν
A 90 92
C 88 96
ν λΆλΆμ 쑰건μ μ λ ₯ν΄μ μνλ λΆλΆμ νν°λ§ν μλ μλ€.
2.2. iloc
π΅ iloc( ) ν¨μλ₯Ό μ¬μ©νλ κ²½μ°μλ κΌ ν / μ΄μ μμλ₯Ό μΈμλ‘ λ£μ΄μΌ νλ€!!
π΅ A:B ννλ‘ μ¬λΌμ΄μ± ν λ A,Bκ° numericμ΄λ©΄ Bλ μ μΈλλ€.
df.iloc[:, [1,2]]
>>
μν κ³Όν
A 92 85
B 88 92
C 96 90
df.iloc[:2, :2]
>>
κ΅μ΄ μν
A 90 92
B 85 88
μ΄λ κ² μνλ λΆλΆλ€μ μ¬λΌμ΄μ±ν΄μ κ°μ Έμ¬μ μκ³ ,
df.iloc[[0,2], [0,2]]
>>
κ΅μ΄ κ³Όν
A 90 85
C 88 90
μνλ λΆλΆμ μΈλ±μ€/ μ΄ μμλ₯Ό μ λ ₯νμ¬ κ°μ Έμ¬μλ μλ€.
π loc / iloc ν¨μμ κ°κ° μ΄λ€ μΈμκ° λ€μ΄κ°μΌ νλμ§, μ¬λΌμ΄μ±μ μ΄λ»κ² λλμ§ μ νν μλ κ²μ΄ μ€μν΄ λ³΄μΈλ€.
π μ μ²λ¦¬ κ³Όμ μμ νμ μ κ·Όνλ κ²½μ°λ κ·Έλ κ² λ§μ§ μκΈ° λλ¬Έμ loc ν¨μλ₯Ό μ¬μ©ν μ μ λ³λ‘ μλ κ² κ°λ€. νμ§λ§ μμ μμμ²λΌ ν/μ΄μ λμμ μ κ·Όμ΄ κ°λ₯νκ³ μ‘°κ±΄μ ν΅ν΄μ νν°λ§λ ν μ μκΈ° λλ¬Έμ μ λλ‘ μ¬μ©νλ©΄ νΈν΄μ§ κ±° κ°λ€!!
Leave a comment