Pandas DataFrame에서 연속 값 그룹화
이 질문은 DataFrame 열에서 연속 값을 그룹화하는 솔루션을 찾습니다. 'a' 열이 있는 다음 DataFrame을 고려하세요.
a 0 1 1 1 2 -1 3 1 4 -1 5 -1
목표는 아래와 같이 이러한 값을 연속 시퀀스를 나타내는 하위 목록으로 그룹화하는 것입니다.
[1, 1] [-1] [1] [-1, -1]
해결책 사용자 정의 시리즈 사용
이를 달성하기 위해 사용자 정의 시리즈를 활용하여 연속적인 값 나누기를 식별할 수 있습니다. 다음 코드는 이 접근 방식을 보여줍니다.
df = pd.DataFrame({'a': [1, 1, -1, 1, -1, -1]}) print(df) # Create a series that identifies consecutive value breaks breaks = df['a'].ne(df['a'].shift()).cumsum() print(breaks) # Group the DataFrame by the breaks series for i, g in df.groupby(breaks): print(i) print(g) print(g.a.tolist())
출력에는 필요에 따라 연속 값 그룹화가 표시됩니다.
1 a 0 1 1 1 [1, 1] 2 a 2 -1 [-1] 3 a 3 1 [1] 4 a 4 -1 5 -1 [-1, -1]
위 내용은 Pandas DataFrame 열에서 연속 값을 그룹화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!