將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中文網其他相關文章!