Continue reading 08_DataFrame 자료형
select rows from where columns condition¶
- Pandas에서도 sql처럼 특정 columns의 값들을 조건을 기반으로 row를 조회하고 싶어 한다.
- 즉, select * from table where colume_name = some_value 같은 형태를 의미한다.
- 위의 표현식을 dataframe을 사용할 경우에는 다음과 같이 표현 할 수 있다.
- df.loc[df['column_name'] == some_value]
- df.loc[df['column_name'] != some_value] -- not 조건
- sql의 In 처럼 여러개의 값(multiple_values)을 선택하려면 isin을 사용한다.
- df.loc[df['column_name'].isin(multiple_values)]
- df.loc[~df['column_name'].isin(multiple_values)] -- isin을 사용할 경우 부정은 앞에 ~를 사용
- loc[]의 인자로 boolean 값이 들어가는 boolean indexing의 형태임.
- 만약에 조건이 2개 이상이면 & 연산자를 다음과 같이 사용한다.
- df.loc[(df['column_name1'] == some_value1) & (df['column_name2'] == some_value2)]
- df.loc[(df['column_name'] == some_value) & df['other_column'].isin(multiple_values)]
Continue reading 07_select rows from columns value
iloc¶
- iloc는 Index Key(Position) 기반의 인덱싱 방법이다.iloc은 Position(위치) 기반이므로 위치 정수(index key)를 기반으로 행과 열을 지정해야 합니다
- 직관적으로 loc 보다 iloc가 쉬움. 행렬처럼 생각하면 됨
- iloc docs를 보면 기본적으로는 라벨 인덱싱지만, boolean 배열이 함께 사용될 수 있다라고 정의되어 있다
- row indexes, indexes label로 허용되는 인풋은 다음과 같다.
- 1, 4, 5 와 같은 하나의 단일 인덱스 정수
- [1,4]와 같은 인덱스 리스트나 배열
- 1:4 와 같이 인덱스 표현되는 slice 객체(1:4는 [1,2,3,4]와 같은 의미임)
- boolean 배열
Continue reading 06_select_iloc
Continue reading 05_select_loc
Continue reading 04_Index Object