반응형
04-04. 정수기반_데이터 (iloc)
DataFrame.iloc
iloc 함수는 iat 함수와 같이 정수 기반으로 인덱싱을 합니다.
DataFrame이나 Series형식으로의 반환이 필요하면 iloc를 사용합니다.
개요
정수기반 조회 메서드입니다.
사용법
기본 사용법
값 가져오기 : result = df.iloc['행', '열']
값 설정하기 : df.iloc['행', '열'] = value
가능한 Input
1. 단일 정수값 (예 : 5)
2. 정수로 이루어진 list (예 : [3, 5, 1])
3. 정수 슬라이스 객체 (예 : 2:5 )
4. bool 배열
반응형
예시
먼저, 아래와 같이 기본적인 3x3 행렬을 만듭니다.
df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], index=['row1', 'row2', 'row3'], columns=['col1', 'col2', 'col3'])
print(df)
>>
col1 col2 col3
row1 1 2 3
row2 4 5 6
row3 7 8 9
값 가져오기
단일 정수로 인덱싱 하는 경우 Series 형식으로 반환합니다.
result= df.iloc[0]
print(result)
>>
col1 1
col2 2
col3 3
Name: row1, dtype: int64
list형식으로 인덱싱하는 경우 DataFrame형식 으로 반환합니다.
result= df.iloc[[0,2]]
print(result)
>>
col1 col2 col3
row1 1 2 3
row3 7 8 9
슬라이스의 사용이 가능합니다.
result= df.iloc[1:2]
print(result)
>>
col1 col2 col3
row2 4 5 6
bool로 구성된 list를 이용하여 인덱싱을 할 수 있습니다.
bool_list = [True, False, True]
result= df.iloc[bool_list]
print(result)
>>
col1 col2 col3
row1 1 2 3
row3 7 8 9
람다(lambda) 함수의 사용도 가능합니다. 아래의 경우 람다 함수를 이용하여 index가 row3인 경우에 대한 bool 배열을 이용한 예 입니다.
result= df.iloc[lambda x : x.index == 'row3']
print(result)
반응형
'파이썬완전정복-Pandas DataFrame > 04. 인덱싱' 카테고리의 다른 글
Pandas DataFrame 04-06. 뒤에서 n행 인덱싱 (tail) (0) | 2022.01.11 |
---|---|
Pandas DataFrame 04-05. 앞에서 n행 인덱싱 (head) (0) | 2022.01.11 |
Pandas DataFrame 04-03. 정수기반_스칼라 (iat) (0) | 2022.01.11 |
Pandas DataFrame 04-02. 레이블기반_데이터 (loc) (0) | 2022.01.11 |
Pandas DataFrame 04-01. 레이블기반_스칼라 (at) (0) | 2022.01.11 |