> 백엔드 개발 > 파이썬 튜토리얼 > 열의 고유 값을 기반으로 Pandas DataFrame을 여러 DataFrame으로 분할하는 방법은 무엇입니까?

열의 고유 값을 기반으로 Pandas DataFrame을 여러 DataFrame으로 분할하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-12 15:29:11
원래의
783명이 탐색했습니다.

How to Split a Pandas DataFrame into Multiple DataFrames Based on a Column's Unique Values?

Groupby를 사용하여 열 값을 기준으로 Pandas DataFrame 분할

이 문서에서는 DataFrame을 여러 부분으로 분할하는 문제에 대한 솔루션을 제시합니다. 특정 열 내의 고유 값에 대해.

다음을 고려하세요. DataFrame:

import pandas as pd

df = pd.DataFrame({
    "N0_YLDF": [6.286333, 6.317000, 6.324889, 6.320667, 6.325556, 6.359000, 6.359000, 6.361111, 6.360778, 6.361111],
    "ZZ": [2, 6, 6, 5, 5, 6, 6, 7, 7, 6],
    "MAT": [11.669069, 11.669069, 11.516454, 11.516454, 11.516454, 11.516454, 11.516454, 11.516454, 11.516454, 11.516454]
})
로그인 후 복사

목표는 "N0_YLDF" 열에 대해 여러 열이 있고 각 열이 "ZZ" 열의 고유 값에 해당하는 새 DataFrame을 만드는 것입니다. 이를 달성하기 위해 groupby() 함수를 활용할 수 있습니다.

grouped_df = df.groupby("ZZ")
로그인 후 복사

groupby() 함수는 pandas.core.groupby.groupby.DataFrameGroupBy 객체를 생성합니다. 이 객체는 다음에 따라 그룹이 분할된 DataFrame을 나타냅니다. 지정된 열의 값입니다. 이 경우에는 4개의 그룹이 있습니다.

print(grouped_df.groups)

# Output
{2: [0], 6: [1, 2, 5, 6, 9], 5: [3, 4], 7: [7, 8]}
로그인 후 복사

각 그룹에 대한 개별 DataFrame을 얻으려면 목록 이해를 사용할 수 있습니다.

split_dfs = [grouped_df.get_group(key) for key in grouped_df.groups]
로그인 후 복사

get_group() 메서드는 DataFrame을 반환합니다. 지정된 그룹에 속하는 행을 포함합니다.

결과로 나오는 분할_dfs 목록에는 각각 다른 값을 나타내는 4개의 DataFrame이 포함됩니다. "ZZ" 열에 있습니다.

예를 들어 "ZZ" 값이 6인 그룹의 DataFrame에 액세스하려면 다음을 사용할 수 있습니다.

split_df_6 = split_dfs[1]
로그인 후 복사

이렇게 하면 DataFrame이 제공됩니다. 다음 행 포함:

   N0_YLDF   ZZ        MAT
1  6.317000   6  11.669069
2  6.324889   6  11.516454
5  6.359000   6  11.516454
6  6.359000   6  11.516454
9  6.361111   6  11.516454
로그인 후 복사

groupby() 함수와 get_group() 메서드를 활용하면 DataFrame을 효과적으로 분할할 수 있습니다. 지정된 열의 값을 기준으로 여러 부분으로 나눕니다.

위 내용은 열의 고유 값을 기반으로 Pandas DataFrame을 여러 DataFrame으로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿