Pandas DataFrames에서 중첩 목록 풀기: 행 확장
Pandas 데이터 프레임에서 데이터로 작업할 때 목록이 포함된 열이 나타날 수 있습니다. 여러 값. 분석과 조작을 용이하게 하려면 이러한 목록을 별도의 행으로 변환해야 합니다. "긴 형성" 또는 "행 확장"으로 알려진 이 프로세스를 통해 각 목록 요소가 자신의 행을 차지할 수 있습니다.
이를 달성하기 위해 Pandas는 .explode()라는 전용 메서드를 제공합니다. 버전 0.25에 도입되었습니다. 이 방법은 지정된 목록 포함 열을 일련의 행으로 원활하게 변환하며 각 요소는 독립적인 행이 됩니다.
구현:
.explode() 메서드에서 확장하려는 열 이름을 지정하기만 하면 됩니다. 기본적으로 다른 모든 열의 값은 유지하면서 열 내의 각 요소에 대해 새 행을 생성합니다.
예를 들어 값 목록이 있는 '샘플' 열이 포함된 데이터 프레임을 생각해 보세요.
import pandas as pd import numpy as np df = pd.DataFrame( {'trial_num': [1, 2, 3, 1, 2, 3], 'subject': [1, 1, 1, 2, 2, 2], 'samples': [list(np.random.randn(3).round(2)) for i in range(6)] } )
.explode() 적용 메서드:
df.explode('samples')
결과는 다음 데이터 프레임입니다.
subject trial_num sample 0 1 1 0.57 1 1 1 -0.83 2 1 1 1.44 3 1 2 -0.01 4 1 2 1.13 5 1 2 0.36 6 2 1 -0.08 7 2 1 -4.22 8 2 1 -2.05 9 2 2 0.72 10 2 2 0.79 11 2 2 0.53
관찰할 수 있듯이 이제 각 목록 요소에는 자체 행이 있습니다. 이 방법은 효율적으로 목록을 펼치지만 한 번에 하나의 열에 대해 그렇게 한다는 점은 주목할 가치가 있습니다.
추가 고려 사항:
위 내용은 Pandas DataFrames의 중첩 목록을 별도의 행으로 확장하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!