본문 바로가기
데이터분석/Pandas&Numpy

Pandas 판다스 데이터 추출하기 (head, loc 등 간단 기초)

by ADELA_J 2023. 6. 13.

 

read_csv  메서드

  > 쉼표로 열이 되어 있는 csv 데이터를 불러옴

  > 파일을 열 때 , (쉼표)가 아닌 다른 걸로 연결이 되 있다면 sep 속성값을 통해 알려줘야함

  > 데이터 프레임이라는 자료형으로 반환함. 

     ▶ https://dev-adela.tistory.com/42?category=1123886 자세한 내용은 여기

 

head()

   > DF에서 가장 앞에 있는 5개의 행을 출력 

   > 인수로 숫자를 주면 해당 수 만큼 앞에 있는 수의 행을 출력

tail()

   >head와 다르게 맨 끝에 있는 5개의 행 출력

 

.shape 

  > 데이터프레임의 행과 열의 크기에 대한 정보를 알려줌

.columns

  > 데이터 프레임의 열 이름을 확인할 수 있음.

데이터프레임.dtypes    /    데이터프레임.info()  

   > 데이터 프레임을 구성하는 값의 자료형 등 자세한 내용 확인 가능

 

>>> 자료형 비교

판다스 자료형 파이썬 자료형 설명
object string 문자열
int64 int 정수
float64 float 소수점을 가진 숫자
detetime64 datetime datetime이 반환하는 자료형

 

열 단위 데이터 추출

  > 대괄호와 열 이름 사용, 작은따옴표 사용해서

   > ex) 데이터프레임['열이름']

   > 1개의 열만 추출하면 시리즈 / 2개 이상이면 데이터프레임

 

행 단위 데이터 추출

  - loc : 인덱스 기준으로 행 데이터 추출

   > 데이터프레임만들면서 자동적으로 인덱스가 행의 갯수에 따라 생성됨, 

   > 인덱스는 변경할 수도 있고 문자열로 지정할 수도 있음

       >>> 하지만 행번호는 데이터 순서에 따라 가는데 실제 데이터 프레임에서는 확인할 수 없는 값.

    > 만약  -1 과 같은 인덱스에 없는 값을 사용하면 오류남

       ▶ 그럼 어떻게 맨 마지막 행 데이터를 추출...?

              =  shape를 이용하여 행크기를 알아내서 마지막행의 인덱스를 알아내도 되고 tail()로 불러와서 알아내도 됨

요런식으로 마지막행 추출

    > loc[ [인덱스, 인덱스, 인덱스] ] 

       ▶ 여러개의 데이터의 인덱스를 한 번에 추출하고 싶을 때. 리스트로 전달하면 됨. 

       ▶ loc [ list ( range(10)) ]  이런식으로 함수를 써서 데이터 추출해도 됨.

 

- iloc : 행 번호를 기준으로 행 데이터 추출 ( 행번호 = 파이썬의 인덱스)

    > 얘는 -1 을 전달해도 마지막 행 데이터를 추출함. (파이썬의 인덱스처럼인가)

   > iloc 도 loc 처럼 여러 데이터를 한번에 추출할 때 리스트를 담아 전달

 

 

▶▶ loc나 iloc는 행과 열을 같이 선택해서 데이터를 추출할 수 있음.

   - loc[[행], [열]]     //  iloc[[행], [열]]

     ▶ 차이점 :

             - loc 는 열 값에 '문자열 리스트(열 이름)'

             - iloc는 열 값에 '정수 (열의 인덱스번호)'

                > 그래서 얘는 range를 응용해서 쓸 수 있음. 

             > 슬라이싱을 활용해 더 잘 씀! 

 

    ▼ loc와 iloc를 비교해서 쓰면 이렇게 다름! (아무래도 데이터 클때는 loc가 좀 더 코드보기 쉽겠지..!)