>백엔드 개발 >파이썬 튜토리얼 >Pandas DataFrames 내에서 목록을 확장하는 방법은 무엇입니까?

Pandas DataFrames 내에서 목록을 확장하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-03 11:45:12301검색

How to Explode Lists Within Pandas DataFrames?

Pandas에서 폭발적인 목록

문제 설명

Pandas에서는 여러 값 목록이 포함된 셀이 있는 데이터프레임을 만날 수 있습니다. 단일 셀에 여러 값을 저장하는 대신 목록의 각 항목이 자체 행을 차지하도록 데이터프레임을 확장하는 것이 유리할 수 있습니다.

Pandas용 솔루션 >= 0.25

Pandas 버전 0.25 이상에서는 Series와 DataFrame 모두에 대한 .explode() 메서드입니다. 이 방법은 목록 요소를 고유한 행으로 효과적으로 분리합니다.

열을 분해하려면 다음 구문을 사용하면 됩니다.

df.explode('column_name')

예를 들어 다음 데이터 프레임을 고려해 보겠습니다.

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)]
    }
)

'샘플' 열을 분해하려면 다음을 사용합니다.

df_exploded = df.explode('samples')

이렇게 하면 원하는 출력:

   subject  trial_num  samples
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        1          3    1.18
# etc.

혼합 열에 대한 참고 사항

.explode() 메서드는 목록과 열의 혼합 열을 처리할 수 있습니다. 스칼라, 빈 목록 및 NaN. 하지만 한 번에 하나의 열만 폭발시킬 수 있습니다.

위 내용은 Pandas DataFrames 내에서 목록을 확장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.