일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 데이터 관리
- class diagram
- 예제
- pandas
- 액티비티 다이어그램
- 데이터
- 컴포넌트 다이어그램
- 파이썬
- Python
- Component Dagram
- Activity Diagram
- 클래스 다이어그램
- sample
- 기초
- 이론
- 엔터프라이즈 아키텍처
- 데이터 처리
- EA
- UML
- 소프트웨어공학
- Tutorial
- 코딩
- 판다스
- 만들기
- 튜토리얼
- Enterprise Architect
- 사용법
- data
- Turorial
- example
- Today
- Total
SW개발 지식 쌓기
판다스(Pandas) 튜토리얼(Tutorial) - 데이터 선택(data select) 본문
- 패키지 import
튜토리얼을 진행하기 위해서는 아래의 패키지를 import 해야한다.
튜토리얼을 진행하기 위해서는 아래의 과정을 수행해야한다.
-
데이터 선택
단일 열 선택
단일 열을 선택하는 방법은 다음과 같다.
[23] df[ ] 대괄호 안에 컬럼 값을 입력하여서 단일 열을 선택할 수 있다.
특정 영역을 선택하는 경우 [ ]을 사용하여 선택한다.
[24] df[시작지점:종료지점] 을 통해 데이터 프레임의 특정 영역을 선택할 수 있다. (입력 값을 index로 한 경우)
[24] df[시작지점:종료지점] 을 통해 데이터 프레임의 특정 영역을 선택할 수 있다. (입력 값을 date로 한 경우)
라벨을 통한 선택
라벨을 사용하여 해당하는 행을 선택한다.
[26] 이전 [5]에서 만든 dates 리스트에서 첫 번째 리스트인 '2013-01-01'을 선택하여 df.loc 메소드를 사용하여서 2013-01-01에 해당하는 행을 출력
* df.loc는 pandas에서 Dataframe을 탐색 할 때 사용하는 함수
* [5] dates = pd.date_range('20130101', periods=6)
두 개 이상의 컬럼을 선택하는 경우 - 시작지점과 종료지점이 없는 경우
[27] df.loc[시작지점:종료지점, ['컬럼명','컬럼명','...']] 을 사용하여 두 개 이상의 컬럼을 출력한다.
* 컬럼명은 반드시 dataframe에 있는 컬럼명을 사용해야 한다.
* 컬럼 전체를 출력해야 하는 경우 반드시 '[ ]' 안에 컬럼명을 넣어야 한다.
두 개 이상의 컬럼을 선택하는 경우 - 시작지점과 종료지점을 지정하는 경우
[28] df.loc[시작지점:종료지점, ['컬럼명','컬럼명','...'] 을 사용하여 두 개 이상의 컬럼을 출력한다.
* DataFrame의 date index의 경우 날짜는 '-' 없이 입력하면 된다.
* 시작지점과 종료지점을 선택하지 않은 경우 전체 범위를 출력한다.
* 시작지점을 넣고 종료지점을 넣지 않는 경우 시작지점 부터 마지막 행까지 컬럼을 출력한다.
* 종료지점을 넣고 시작지점을 넣지 않는 경우 시작 행부터 종료지점까지 컬럼을 출력한다.
두 개 이상의 컬럼을 선택하는 경우 - 특정 지점
[29] df.loc[특정지점, ['컬럼명','컬럼명','...']] 을 사용하여 두 개 이상의 특정 컬럼을 출력한다.
* 2차원 반환이 아닌 1차원을 반환하기 때문에 출력 형태가 바뀐 것을 볼 수 있다.
특정 값을 선택하는 경우 - loc 사용
[30] df.loc[index 값, colum 값] 을 사용하여 특정 값을 출력한다.
특정 값을 선택하는 경우 - at 사용
[31] df.at[index 값, colum 값] 을 사용하여 특정 값을 출력한다.
정수 값을 사용한 선택
정수 위치 지정을 통한 선택
[32] df.lioc[정수] 를 사용해 DataFrame의 4번째 행의 값을 출력
* python의 리스트(배열)은 0부터 시작
* index 값이 아닌 정수를 사용하는 경우 loc가 아닌 iloc를 사용한다
정수를 사용한 DataFrame 선택
[33] df.iloc[시작지점(행):종료지점(행), 시작지점(열):종료지점(열)] 를 사용해 DataFrame을 출력
리스트 변수를 사용한 DataFrame 선택
[34] df.iloc[[리스트 값(행)], [리스트 값(열)]] 를 사용해 DataFrame을 출력
* 범위가 아닌 여러 특정 지점이 필요할 때 사용한다.
정수를 사용한 DataFrame 선택 - 열 부분의 시작지점과 종료지점이 없는 경우
[35] df.iloc[시작지점(행):종료지점(행), 시작지점(열):종료지점(열)] 를 사용해 DataFrame을 출력
* 시작지점과 종료지점을 선택하지 않은 경우 전체 범위를 출력한다.
* 시작지점을 넣고 종료지점을 넣지 않는 경우 시작지점 부터 마지막 행까지 컬럼을 출력한다.
* 종료지점을 넣고 시작지점을 넣지 않는 경우 시작 행부터 종료지점까지 컬럼을 출력한다.
정수를 사용한 Data Frame 선택 - 행 부분의 시작지점과 종료지점이 없는 경우
[36] df.iloc[시작지점(행):종료지점(행), 시작지점(열):종료지점(열)] 를 사용해 DataFrame을 출력
* 시작지점과 종료지점을 선택하지 않은 경우 전체 범위를 출력한다.
* 시작지점을 넣고 종료지점을 넣지 않는 경우 시작지점 부터 마지막 행까지 컬럼을 출력한다.
* 종료지점을 넣고 시작지점을 넣지 않는 경우 시작 행부터 종료지점까지 컬럼을 출력한다.
특정 값을 선택하는 경우 - iloc 사용
[37] df.iloc[정수, 정수] 를 사용하여 특정 값을 출력한다.
특정 값을 선택하는 경우 - iat 사용
[38] df.iat[정수, 정수] 를 사용하여 특정 값을 출력한다.
Boolean 인덱싱
단일 열의 값을 사용하여 데이터를 선택
[39] df.A > 0 옵션으로 A 컬럼에서 0 이상 값을 가지는 행만 출력한다.
DataFrame에서 Boolean 조건이 충족되는 값을 선택
[40] df > 0 옵션으로 DataFrame에서 0 초과 값을 가지는 값을 출력한다.
* [39]와는 다르게 기준이 DataFrame이 되므로 0 이하의 값은 NaN(null) 처리된다.
isin() 메소드를 사용한 선택
[41] df에서 사용한 내용을 그대로 df2에 복사
[42] df2에 'E' 라는 컬럼을 추가하고, 값으로 리스트 값인 'one', 'one', 'two', 'three', 'four', 'three' 를 입력
[42] df2 출력
[44] df2[df2['컬럼명'].isin(['값','값','...']) 메소드를 사용하여서 two, four 에 해당하는 행을 출력
* isin 메소드는 리스트 값이 해당 컬럼에 있는 경우 true를 반환하는 메소드
입력
데이터를 인덱스별로 자동 입력
[45] s1에 20130102 부터 6일 이후의 인덱스와 1,2,3,4,5,6 값을 가지는 pandas 1차원 변수를 만든다
[46] s1 출력
[47] df에 'F' 컬럼을 추가한 후 s1 변수를 입력한다.
* s1 변수의 인덱스 값에 의해 df에 있는 인덱스 값에 맞추어 1,2,3,4,5,6 값이 순서대로 입력된다.
라벨을 통한 값 입력
[48] df.at['인덱스 값', '컬럼 값'] = 0 메소드로 해당 인덱스와 컬럼에 해당하는 값을 0으로 변경한다.
위치에 따른 값 입력
[49] df.iat['정수', '정수'] = 0 메소드로 해당 정수 위치에 해당하는 값을 0으로 변경한다.
NumPy 배열을 통한 값 입력
[50] df.loc[시작지점:종료지점, '컬럼 값'] = 배열 값
* 시작지점과 종료지점을 선택하지 않은 경우 전체 범위를 출력한다.
* 시작지점을 넣고 종료지점을 넣지 않는 경우 시작지점 부터 마지막 행까지 컬럼을 출력한다.
* 종료지점을 넣고 시작지점을 넣지 않는 경우 시작 행부터 종료지점까지 컬럼을 출력한다.
* np.array([5] * len(df)) 메소드로 5의 값을 가지는 df의 길이(인덱스 길이, 6) 만큼 array를 생성
입력 명령어 값 확인
[51] df 출력
조건에 따른 값 입력
[52] df 값을 df2로 복사
[53] df2 값 중 0 보다 큰 값을 음수로 변경
[54] df2 출력
'Python > Pandas' 카테고리의 다른 글
판다스(Pandas) 튜토리얼(Tutorial) - 판다스 메소드(Pandas Method) (0) | 2019.02.28 |
---|---|
판다스(Pandas) 튜토리얼(Tutorial) - 누락 데이터(Nan data) (0) | 2019.02.28 |
판다스(Pandas) 튜토리얼(Tutorial) - 데이터 보기(data view) (0) | 2019.02.28 |
판다스(Pandas) 튜토리얼(tutorial) - 객체(object) 생성 (0) | 2019.02.28 |
판다스(Pandas)란? - 이론, 기초 (1) | 2019.02.25 |