Index Alignment란?
- 서로 다른 두 개 이상의 데이터 구조를 합칠 때 인덱스(또는 행 이름)를 기준으로 데이터를 정렬하고 맞추는 과정
- 데이터 구조의 크기가 다르거나 순서가 다른 상황에서도 데이터를 일관되게 조작하고 비교할 수 있다
예를 들어, 다음과 같은 두 개의 데이터프레임이 있다고 하자.
두 데이터프레임을 더하려고 할 때, 열이름이 다르거나 크기가 달라서 연산하기 어렵다.
그런데, index alignment가 동작하면 인덱스를 기준으로 데이터가 맞춰진다.
df1:
A B C
0 1.0 2.0 3.0
1 4.0 5.0 6.0
df2:
B C D
0 7.0 8.0 9.0
1 10.0 11.0 12.0
결과적으로 각 셀에서 해당 인덱스의 데이터가 정렬되어 연산이 된다.
result = df1 + df2:
A B C D
0 NaN 9.0 11.0 NaN
1 NaN 15.0 17.0 NaN
실제 데이터를 가지고 분석을 할 때, loc 와 같이 특정 행과 열에 필터를 걸어 보고 싶을 때도
index 번호, 또는 Index로 설정한 컬럼값을 기준으로 연산이 되는 것이다.
다음과 같이, 시리즈와 데이터프레임이 함께 연산이 될 수 있는 것도 index alignment 덕분이다👍
가장 대표적인 컬럼을 Index로 설정해놓고 데이터 전처리를 수행하면 간편해진다.
demovars_misscnt = covidtotals[demovars].isnull().sum(axis=1)
covidtotals.loc[demovars_misscnt >= 3, ['location']+demovars].T
728x90
'Python > Pandas' 카테고리의 다른 글
display() 함수 : 여러 개 데이터프레임 동시에 확인 (0) | 2023.08.14 |
---|---|
[pandas] pd.qcut() 과 pd.crosstab() (0) | 2023.08.09 |
[pandas] 결측치 처리하기 (0) | 2023.08.09 |
[pandas] 날짜 데이터 다루기 (0) | 2023.08.09 |
[API 다루기] XML 파일을 pandas 데이터프레임으로 (0) | 2023.08.07 |