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 중국어 웹사이트의 기타 관련 기사를 참조하세요!