데이터 분석가 Damla's blog

[파이썬] 인덱싱과 슬라이싱 본문

파이썬(Python)/Basic & Data analyze

[파이썬] 인덱싱과 슬라이싱

DA Damla 2022. 12. 11. 20:57

엑셀에서는 드레그와 ctrl +c 와 v로 가능한데 파이썬에서는 함수를 사용해야함

인덱싱과 슬라이싱

인덱스(index)

자리마다 번호가 정해져있다.

출처_엑셀투 파이썬

1. df["열이름"] : 대괄호 인덱싱은 열밖에 안된다.

2. df.loc["행이름", "열이름"]

예시, df.iloc[0:3, [1,3,3]] : 좌표로 불러내고 싶을 때 이처럼 숫자를 사용하여 불러낼 수 있다.

     -> 불러 내고 싶은 컬럼이 있으면 한번더 쓴다

4. df.drop("column name", axis = 1)

 

참고) 첫번째 그림의 경우 [0:2]라면 2의 앞에 있는 것까지 불러온다는 의미이다

-> 즉, 0과1의 자리에 있는 것을 불러오는 것이다

그런데 세번쨰의 경우 1부터 3까지 끝까지 다 불러올 경우라면 숫자를 안써도 되고 

첫번째를 불러올때도 숫자를 안써도 된다. (즉 전체다 불러올때는 아무것도 안써도 된다)

 

df.iloc[0:3,1:0].drop("c",axis=1)

 

아래 데이터프레임을 활용해서 연습해보자

import pandas as pd
import numpy as np
a = np.random.randint(0,10,24).reshape(4,6)
df = pd.DataFrame(a, index=list("가나다라"), columns=list("ABCDEF"))

표 전체

1. df[   ] <= df의 경우 열값만 불러올 수 있다.

여기 대괄호 안에 불러오고 싶은 열(컬럼)을 넣어서 불러온다

문자열일경우 "따옴표"안에 넣어야 불러올 수 있다

여러개를 불러오고 싶다면 대괄호 안에 리스트 형식으로 넣는다.

 

리스트 형식은? 이렇게 대괄호 안에 넣은 형식을 말한다

예시: df[["B", "C", "D"]] 

리스트는 대괄호를 열고 그안에 불러오고 싶은 열의 값을 넣는 형태이다

---------------------

2. 만약 행값도 불러오고 싶다면? df.loc[ "행 먼저", "열 다음" ]

df.loc["가":"다", "A":"E"]

-> 이 형식은 연결되어 있는 행(가로,row)과 열(세로, Colum)을 불러오는 방법이다

연결되어 있지 않고 부분만 가지고 오고 싶다면?

리스트형식으로 넣는다

df.loc["가":"다", ["A","B","B"]]

이렇게 대괄호 따옴표 콤마 따옴표 형식으로 연결된 것을 리스트라고함

------------------------------

3. df.iloc[      ] 메서드 _ 행 번호 와 열 번호를 넣는다

디폴트로 아무것도 안쓰면 행이 출력되고 콤마하고 0을 넣으면 열도 추출된다

df.iloc[0,0]

 

df.iloc[0:3,0:4]

df.iloc[[0,2], [1,3,4]]

-----------------------

4. df.drop("D", axis=1)

앞서 df는 열만 가능했고

df.loc는 컬럼명을 사용하여 행,열 순서대로 넣어서 추출했고

df.iloc는 컬럼명이 아닌 위치를 나타나는 숫자로 추출할 수 있었고 행,열의 좌표를 넣어서 추출했다.

그런 drop의 경우는 행과 열 모두 순서 상관없이 넣을 수 있다.

 

df.drop("D", axis=1)

df.drop("가", axis=0)

axis = 0 은 디폴트 값이다.

행과 열 한개씩 동시에 drop하는 법은 아직 모른다...ㅎ

-------------------------

정리하자면

 

- 인덱싱은 원하는 행이나 열을 불러오는것

- 슬라이싱은 부분을 잘라서 가지고 오는것

- 인덱싱하여 원하는 컬럼이나 행을 불러오고 싶다면 리스트 형식 ["가", "라"]

- 슬라이싱은 [0:3, 0:2] 이렇게 콜론으로 연결하여 추출가능하다.

 

 

 

출처

엑셀투 파이썬_인덱싱과 슬라이싱

https://www.youtube.com/watch?v=W2KYhekdtfU