>  기사  >  백엔드 개발  >  Pandas DataFrame에서 연속적으로 동일한 값을 그룹화하는 방법은 무엇입니까?

Pandas DataFrame에서 연속적으로 동일한 값을 그룹화하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-26 22:33:10778검색

How to Group Consecutive Identical Values in a Pandas DataFrame?

Pandas DataFrame에서 연속 값 그룹화

Pandas에서 데이터 그룹화는 데이터 분석 및 조작에 중요한 작업이 될 수 있습니다. 순차 데이터를 처리할 때 동일한 특성을 공유하는 연속된 값을 그룹화해야 하는 경우가 많습니다.

문제:

연속된 값을 포함하는 열이 있는 DataFrame이 주어지면, 이러한 값을 값이 동일하게 유지되는 연속 세그먼트로 그룹화합니다.

예를 들어 원래 열에 다음이 포함된 경우 값:

[1, 1, -1, 1, -1, -1]

원하는 출력은 다음과 같습니다:

[1, 1] [-1 ] [1] [-1, -1]

해결책:

이 그룹화를 달성하기 위해 pandas는 그룹화 기능을 사용하여 유연한 접근 방식을 제공합니다. 그러나 단순히 열 자체에 groupby를 사용하는 것만으로는 충분하지 않습니다. 대신 세그먼트의 경계를 식별하는 사용자 정의 시리즈를 생성해야 합니다.

다음 코드는 이 솔루션을 구현하는 방법을 보여줍니다.

df = pd.DataFrame({'a': [1, 1, -1, 1, -1, -1]})

# Create a custom Series that identifies segment boundaries
boundaries = df['a'].ne(df['a'].shift()).cumsum()

# Group data by the segment boundaries
for i, g in df.groupby(boundaries):
    print(i)
    print(g)
    print(g.a.tolist())

이 접근 방식은 연속 세그먼트에 순차 번호를 할당합니다. 여기서 값은 변경되지 않습니다. 이 숫자를 사용하여 데이터는 그에 따라 그룹화되고 각 그룹은 해당 연속 값과 함께 인쇄됩니다.

위 내용은 Pandas DataFrame에서 연속적으로 동일한 값을 그룹화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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