2024.07.15
✳️.loc[ ]
loc는 location의 약어이다.
데이터 프레임의 행 또는 열을 label이나 boolean array로 인덱싱하는 방법이다.
사람이 읽을 수 있는 라벨 값으로 특정 값들을 골라오는 방법!
<기본 구조>
df.loc[행, 열]
🔹 label 인덱싱
기본적으로 df.loc[0] 이라고 인덱싱을 하면, df라는 데이터프레임에서 index가 0인 행 을 출력하라는 뜻이 된다.
여기서 df.loc[0, '컬럼 이름'] 라고 쓰면, index가 0인 행 에서 지정한 컬럼에 대한 값을 출력해준다.
만일 df.loc['컬럼 이름'] 이라고 컬럼 이름만 써준다면, 해당 컬럼의 데이터 값만 출력해준다.
🔹 loc와 slicing
- df.loc[:, :] - 전체 행, 전체 열을 출력
- df.loc[:4, :'컬럼 이름'] - 처음부터 index가 4인 행에서 지정한 컬럼까지만 데이터 출력
🔹 boolean 인덱싱
- df.loc[df['컬럼 이름'] == x] - 지정한 컬럼에서 x라는 값을 가진 데이터만 출력
- df.loc[(df['컬럼 이름'] == x) | (df['컬럼 이름'] >= y)] - 'or' 의미인 |을 이용한 다중 조건 충족 출력
- df.loc[(df['컬럼 이름'] == x) & (df['컬럼 이름'] >= y)] - 'and' 의미인 &을 이용한 다중 조건 충족 출력
✳️.iloc[ ]
iloc는 integer location의 약어이다.
데이터 프레임의 행이나 칼럼의 순서를 나타내는 정수로 특정 값을 추출해오는 방법이다.
컴퓨터가 읽기 좋은 방법으로 데이터(숫자)가 있는 위치(순서)에 접근!
<기본 구조>
df.iloc[행 인덱스, 열 인덱스]
- df.iloc[0] - 전체 데이터 프레임에서 첫 번째 행에 있는 값들만 추출
=> .loc[0]와 같은 값을 보여주지만, 인덱싱하는 방식이 다르다. - df.iloc[0, 2] - 첫 번째 행, 3번째 컬럼의 데이터 값을 추출
🔹 iloc와 slicing
- df.iloc[:5, :5] - 첫 번째 행부터 6번째 행, 첫 번째 컬럼부터 6번째 컬럼까지의 데이터 값들을 추출
- df.iloc[::2, :] - 행의 처음부터 끝까지, 2 간격으로 열은 전체 추출(전체 데이터에서 짝수 번째 행의 데이터 값만 추출)
- df.iloc[:, ::2] - 전체 행, 열의 처음부터 끝까지, 2간격으로 추출(전체 데이터에서 짝수 번째 컬럼의 데이터 값만 추출)
⚠️ iloc에 문자열로 값을 입력하면 에러가 뜬다. int값만 넣기!
df.iloc[0, 'age']
# ValueError
자세한 예시는 아래 사이트에서
<참고 자료>
https://bigdaheta.tistory.com/41
https://bigdaheta.tistory.com/42
'📒 Today I Learn > 🐍 Python' 카테고리의 다른 글
[Pandas] 데이터프레임 값 바꾸기 (변경, replace) (0) | 2024.07.15 |
---|---|
[Pandas] .drop_duplicates( ) : 데이터프레임 중복 제거 (0) | 2024.07.15 |
[Python] 할당과 복사 (0) | 2024.07.12 |
[Python] While 문 (0) | 2024.07.09 |
[Python] range 함수 (0) | 2024.06.28 |