>백엔드 개발 >파이썬 튜토리얼 >Pandas\' `.explode()` 메서드는 어떻게 목록 기반 열을 별도의 행으로 변환할 수 있나요?

Pandas\' `.explode()` 메서드는 어떻게 목록 기반 열을 별도의 행으로 변환할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2024-11-29 20:25:11958검색

How Can Pandas' `.explode()` Method Transform List-Based Columns into Separate Rows?

Pandas의 .explode() 메소드를 활용하여 목록을 행으로 압축 해제

Pandas에서 목록 열이 포함된 DataFrame을 처리하는 것은 어려울 수 있습니다. 별도의 행으로 표시되는 목록 요소입니다. 여기서 .explode() 메서드가 사용됩니다.

Pandas ≥ 0.25

Pandas 버전 0.25 이상의 경우 판도를 바꾸는 것은 .explode( ) 방법. 목록과 같은 열을 별도의 행으로 분해하여 긴 형식에서 넓은 형식으로 변환할 수 있습니다.

import pandas as pd

# Sample DataFrame
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 using .explode()
exploded_df = df.explode('samples')

# Reset index to be monotonically increasing (optional)
exploded_df = exploded_df.reset_index(drop=True)

print(exploded_df)

# Output:
#    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        1          3    1.18
# 7        2          1   -0.08
# 8        2          1   -4.22
# 9        2          1   -2.05
# 10       2          2    0.72
# 11       2          2    0.79
# 12       2          2    0.53
# 13       2          3    0.4
# 14       2          3   -0.32
# 15       2          3   -0.13

.explode()는 한 번에 하나의 열에서 작동한다는 점에 유의하세요. 혼합 유형(예: 목록 및 스칼라)을 포함하는 열의 경우 .explode()는 현명하게 작동하고 빈 목록과 NaN을 유지합니다.

위 내용은 Pandas\' `.explode()` 메서드는 어떻게 목록 기반 열을 별도의 행으로 변환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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