728x90
반응형
[Pandas] explode
데이터 프레임을 다루다보면, 하나의 열에 리스트나 튜플 형태로 저장된 데이터를 여러 개의 행으로 나누어야 할 때가 있다. Pandas의 `explode()` 함수는 이러한 상황에서 매우 유용하게 사용할 수 있는 기능이다.
explode()
`explode`는 데이터프레임(Dataframe)이나, 시리즈(Series)의 특정 열에있는 리스트, 튜플 또는 set과 같은 iterable 데이터를 각각 개별적인 행으로 변환해주는 함수다.
리스트가 아닌 데이터에는 그대로 유지되며, NaN값은 영향을 받지 않는다.
다음은 explode를 사용한 간단한 예제다.
import pandas as pd
df = pd.DataFrame({
'id': [1, 2, 3],
'values': [['apple', 'banana'], ['grape', 'orange', 'kiwi'], ['melon']]
})
# explode 적용
df_exploded = df.explode('values')
# 결과
id values
0 1 apple
0 1 banana
1 2 grape
1 2 orange
1 2 kiwi
2 3 melon
values 열에 있는 리스트의 각 요소가 새로운 행으로 확장되었다.
`explode()`는 여러 개의 열에도 적용이 가능하다.
df = pd.DataFrame({
'id': [1, 2],
'fruits': [['apple', 'banana'], ['grape', 'orange']],
'colors': [['red', 'yellow'], ['purple', 'orange']]
})
df.explode(['fruits', 'colors'])
# 결과
id fruits colors
0 1 apple red
0 1 banana yellow
1 2 grape purple
1 2 orange orange
리스트 데이터를 가진 여러 개의 열을 동시에 `explode()` 하면 해당 열의 리스트 요소들이 같은 순서로 확장된다.
다만, 모든 열의 리스트가 길이가 동일해야 하며, 다르면 ValueError가 발생한다.
728x90
반응형
'👩💻 Develope > Python' 카테고리의 다른 글
[Python] 파이썬으로 해시(Hash)와 해시테이블(Hash Table) 구현하기 (0) | 2025.02.19 |
---|---|
[Python] Jira API 사용하기 (0) | 2025.01.20 |
[Pandas] 데이터프레임 컬럼 순서 변경하기 (0) | 2025.01.06 |
[Pandas] 결측값 처리 (0) | 2024.12.19 |
[Pandas] SQL 쿼리로 데이터프레임으로 불러오기 (read_sql) (1) | 2024.12.17 |