簡體   English   中英

在 pandas 數據幀中,是否有一種有效的方法可以將連續增加的數據行分類為一組

[英]Is there an efficient way to categorise rows of sequential increasing data into a group in a pandas data frame

我有一個大致如下所示的數據集(第一列是索引):

measurement value
0   1   0.617350
1   2   0.394176
2   3   0.775822
3   1   0.811693
4   2   0.621867
5   3   0.743718
6   4   0.183111
7   1   0.118586
8   2   0.274038
9   3   0.871772

我在第二列中的值是按順序增加測量參數,測試循環通過這些測量參數,在每一步讀取讀數,然后重新設置並從頭開始。

我面臨的挑戰是我需要在第四列中使用 label 對每個周期進行分組。

measurement value   group
0   1   0.617350    1
1   2   0.394176    1
2   3   0.775822    1
3   1   0.811693    2
4   2   0.621867    2
5   3   0.743718    2
6   4   0.183111    2
7   1   0.118586    3
8   2   0.274038    3
9   3   0.871772    3

我能想到的唯一解決方案是有兩個嵌套的 for 循環,第一個找到每個測量條件的開始,第二個計數到每個測量條件的結尾,然后標記該組。 這似乎不是很有效,我想知道是否有更好的方法?

如果每個度量從1開始比較它的值並添加累積總和:

df['group'] = df['measurement'].eq(1).cumsum()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM