Pandas 데이터 프레임에서 중첩 목록을 개별 행으로 폭발
Pandas를 사용한 데이터 조작 영역에서는 데이터를 재구성해야 할 필요성이 자주 발생합니다. 중첩된 목록으로 개별 행에 저장됩니다. "nearest_neighbors" 열에 값 목록이 포함된 데이터프레임을 생각해 보세요. 목표는 이러한 목록을 "폭발"하여 목록 내의 각 값에 대해 별도의 행을 생성하는 것입니다.
Pandas 0.25는exploding() 메서드를 사용하여 목록 폭발을 단순화합니다
pandas의 경우 버전 0.25 이상에서는 Explore() 메서드가 도입되면서 열의 목록 확장이 크게 단순화되었습니다. 기능을 시연하기 위해 예제 데이터 프레임을 다시 만들어 보겠습니다.
import pandas as pd # Original DataFrame df = pd.DataFrame({'name': ['A.J. Price'] * 3, 'opponent': ['76ers', 'blazers', 'bobcats'], 'nearest_neighbors': [['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']] * 3}) # Set the index for easier reference df = df.set_index(['name', 'opponent'])
중첩 목록 폭발
explode() 메서드를 사용하여 "nearest_neighbors"를 분할할 수 있습니다. 열을 목록 요소별로 정렬하여 각 값에 대해 별도의 행을 생성합니다.
# Explode the list-like column df_exploded = df.explode('nearest_neighbors')
분해 후 출력
print(df_exploded)
nearest_neighbors name opponent A.J. Price 76ers Zach LaVine 76ers Jeremy Lin 76ers Nate Robinson 76ers Isaia blazers Zach LaVine blazers Jeremy Lin blazers Nate Robinson blazers Isaia bobcats Zach LaVine bobcats Jeremy Lin bobcats Nate Robinson bobcats Isaia
보시다시피 각 값은 "nearest_neighbors" 열에 있는 목록의 항목은 이제 해당 상대 인덱스 내에서 별도의 행으로 표시됩니다.
목록 확장을 위한 기타 방법
이전 Pandas 버전의 경우 0.25에는 열의 목록을 확장하는 다른 접근 방식이 있었습니다. 이러한 방법에는 적용, 람다 및 목록 이해와 같은 작업의 조합이 필요했습니다. 그러나Explode() 메서드가 도입되면서 이러한 복잡한 접근 방식은 더 이상 필요하지 않습니다.
위 내용은 Pandas 데이터 프레임에서 중첩 목록을 개별 행으로 전개하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!