首頁 > 後端開發 > Python教學 > 如何將 Pandas DataFrame 中的連續相同值進行分組?

如何將 Pandas DataFrame 中的連續相同值進行分組?

Mary-Kate Olsen
發布: 2024-11-26 22:33:10
原創
858 人瀏覽過

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 函數的靈活方法。然而,僅僅在列本身上使用 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板