在 DataFrame 中,您可能會遇到包含需要分組在一起的連續值的欄位。例如,考慮以下列的值:
[1, 1, -1, 1, -1, -1]
要有效地將這些值分組到所需的群組中,例如:
[1,1] [-1] [1] [-1, -1]
使用Pandas 庫執行以下步驟:
您可以利用自訂系列來實現此分組。方法如下:
import pandas as pd # Create sample DataFrame df = pd.DataFrame({'a': [1, 1, -1, 1, -1, -1]}) # Use ne() and cumsum() to create grouping indicator ind = df['a'].ne(df['a'].shift()).cumsum() # Group by this indicator for i, g in df.groupby(ind): # Print grouping key print(i) # Print rows in group print(g) # Convert values to list for display 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中文網其他相關文章!