일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kaggle 프로젝트
- ridge 회귀
- 서비스분석기법
- ai관련 직업
- 데이터직무
- 데이터사이언티스트
- 데이터리안웨비나
- 데이터분석
- 파이썬
- Python
- 데이터엔지니어링시작하기
- 회귀분석 프로젝트
- 데이터분석기법
- 데이터 분석가
- 머신러닝 회귀 모델
- python 데이터 분석
- 데이터리안
- 데이터 엔지니어
- 데이터엔지니어
- ml 실전 프로젝트
- 판다스
- 파이썬오류
- 데이터엔지니어링배우기
- 데이터분석가
- 파이썬기초
- 데이터엔지니어링
- vader감정분석
- Growth_Hacking
- 학생 성적 예측
- 데이터리안월간웨비나
- Today
- Total
데이터 분석가 Damla's blog
[파이썬] 인덱싱과 슬라이싱 본문
엑셀에서는 드레그와 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
'파이썬(Python) > Basic & Data analyze' 카테고리의 다른 글
[Pandas] 판다스 데이터프레임 (0) | 2023.01.01 |
---|---|
[파이썬] 판다스 apply, groupby 코드 설명 (0) | 2022.12.28 |
[파이썬] Pandas 데이터프레임(Data Frame)이란? (0) | 2022.12.11 |
[Pandas] 데이터 프레임 열다루기 (0) | 2022.12.11 |
파이썬에서 IF문쓰기 (0) | 2022.12.04 |