파이썬의 pandas에서 데이터프레임 형태로 데이터를 불러왔다면 이것을 확인하는 방법을 알아야한다. 데이터는 많은 행과 열로 이루어져 있으며 데이터에 따라 그 개수도 천차만별이다. 이것을 행 기준의 특정 부분, 혹은 열 기준의 특정 부분만 확인하려면 어떻게 해야할까?
예시로 사용할 데이터는 kaggle에서 다운로드받은 IRIS.csv 데이터를 사용하겠다. 먼저 pd.read_csv를 활용하여 데이터를 불러오자.
행(row) 기준 확인/불러오기
맨 앞 & 맨 뒤의 행 확인 : head(), tail()
- 변수명.head(불러올 행 개수) : 앞에서부터 n개의 행 확인
- 변수명.tail(불러올 행 개수) : 뒤에서부터 n개의 행 확인
head와 tail 모두 괄호 안이 공백이면 5개의 행만 출력한다. 150개의 행을 가진 데이터프레임으로 예시를 들어보면 아래와 같다. DF.head()는 괄호 안이 공백이므로 맨 위부터 5개의 행만 불러오고 DF.tail(3)은 맨 끝에서부터 3개의 행만 불러와서 확인할 수 있다.
특정한 연속 행 확인
- 변수명[확인할 첫 행 index:확인할 마지막 행 index+1]
맨 첫 행부터 n 행까지를 확인하고 싶으면 [0:n+1]도 가능하고 0을 생략한 [:n+1]도 가능하다. 반대로 n행부터 맨 끝 행까지를 확인하고 싶으면 [n:]도 가능하다.
열(column) 기준 확인/불러오기
열을 기준으로 데이터프레임을 불러오는 방법은 크게 세 가지가 있다.
1) 데이터셋명[['column 명']]
이때 데이터셋명['column 명']으로 불러오면 DataFrame 형태가 아닌 Series 형태로 불러와짐에 유의하자. [['칼럼 명']]으로 되어야 데이터프레임이 됨에 명심!!
![]() |
![]() ![]() |
2) 데이터셋명[데이터셋명.columns[[column 번호]]]
칼럼 명이 아닌 칼럼 번호(칼럼 인덱스)로 불러오기 위해서는 columns라는 모듈을 사용한다.
데이터셋명.columns를 프린트해보면 아래와 같이 데이터의 칼럼명이 담긴 리스트가 출력된다.
이 중 필요한 칼럼명의 인덱스를 [[]]에 넣어 그 자체를 리스트로 만들어 출력하면 필요한 컬럼명들이 리스트에 담긴다.
데이터셋명 뒤에 이 리스트를 붙이게 되면 데이터프레임 중 해당 칼럼을 가진 값들이 출력된다.
3) 데이터셋명.loc[:, 첫 열 이름 : 끝 열 이름]
또한 .loc을 활용하여 아래와 같이 연속된 컬럼명을 활용하여 불러올 수도 있다. 그 전에 loc과 iloc의 차이점을 알면 좀 이해하기 쉬울 것이다.
- loc : row, column의 index 라벨 값을 기준으로 데이터 추출
ex) loc[0, "sepal_length"] : row index가 0이고 column명이 sepal_length인 데이터 추출 - iloc : row, column의 순서에 해당하는 정수를 기준으로 데이터 추출 (보편적으로 많이 사용)
ex) iloc[0, 1] : row 기준 0번째, column 기준 1번째 데이터 추출
이때 모든 행을 기준으로, 혹은 모든 열을 기준으로 불러오고 싶은 경우에는 행이나 열의 값 대신 :(콜론)을 사용해서 인덱싱할 수 있다.
아래의 예시는 모든 행을 기준으로 칼럼명이 sepal_length부터 petal_length에 해당하는 연속적인 데이터를 추출하는 예시이다.
특정 행(row)과 특정 열(column)에 해당하는 데이터 인덱싱
앞에서는 행을 기준으로, 열을 기준으로 조건에 해당하는 데이터를 불러오는 방법을 살펴보았다. 그럼 행과 열 기준으로 둘 다 인덱싱하고 싶을 땐 어떻게 할까? 바로 앞에서 설명한 iloc과 loc을 활용하면 된다.
|
|
![]() |
![]() |
행 이름 자체가 숫자로 되어있으므로 행은 숫자로 인덱싱해줌. 행 번호의 범위는 [인덱싱 첫 번호:인덱싱 끝 번호]로 지정. |
행과 열 모두 첫 번호는 0부터 시작함. 행과 열 번호의 범위는 [인덱싱 첫 번호:인덱싱 끝 번호+1]로 지정. |
또한 하나의 값을 지정해서 불러오려면 at이라는 명령어를 사용할 수도 있다.
'빅데이터 분석기사[python] > pandas와 기본 데이터 처리' 카테고리의 다른 글
[python 파이썬, pandas 판다스] 데이터 변환2 (열 필터링, 열 추가, 열 삭제) (0) | 2022.05.10 |
---|---|
[python 파이썬, pandas 판다스] 데이터 불러오기 및 저장하기 (0) | 2022.05.10 |
[python 파이썬, pandas 판다스] 데이터 변환1 (데이터 복사, 행과 열의 이름 확인하기 및 변경하기) (0) | 2022.05.10 |
[python 파이썬, pandas 판다스] csv 및 excel 파일 불러오기 (한글 깨지는 경우 해결) (0) | 2022.05.09 |
[python 파이썬, pandas 판다스] series와 dataframe (1) | 2022.05.09 |