我有一個數據幀,其中一列只包含塊或塊中的True或False值。例如:在熊貓數據框中找到塊中的第一個'真'值
df =
b
0 False
1 True
2 True
3 False
4 True
5 True
6 True
7 True
8 False
9 False
10 False
11 False
12 False
13 True
14 True
15 True
我需要找到塊的開始,具有真:
>> find_first_true(df)
>> array([1, 4, 13])
任何優雅的解決方案?
編輯
謝謝你的建議的解決方案。我想知道,從我找到的索引開始,提取特定長度塊的最簡單方法是什麼?
例如,我需要在索引之前佔用長度爲4的塊(行數)。所以,如果(先前發現的)我的指數
index = array([1, 4, 13])
然後我需要塊:
[df.loc[0:4], df.loc[9:13]]
或
b
0 False
1 True
2 True
3 False
4 True
9 False
10 False
11 False
12 False
13 True
我遍歷索引,但想了解更爲pandasian解決方案
@MedAli,存在True和False值的塊(如示例中所示)。我需要在True值的塊中找到第一個True的索引。或者,如果你喜歡,首先真的錯誤 –