[英]Is there an efficient way to select multiple rows in a large pandas data frame?
[英]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.