假設我有這個資料框:
Col1 Col2
128 False
129 True
130 True
183 False
184 True
202 False
203 True
204 True
我想要串列(或元組串列),例如:
(128, 129, 130) , (183, 184) , (202, 203, 204)
所以,我的問題是:如何按列值對資料框進行切片并獲取(包括)該列值之后的所有行?
在這種情況下,列值為“False”。先感謝您!!
uj5u.com熱心網友回復:
您可以按每個False值創建組并聚合tuples:
L = df.groupby((~df['Col2']).cumsum())['Col1'].agg(tuple).tolist()
print (L)
[(128, 129, 130), (183, 184), (202, 203, 204)]
或者,如果需要Col1使用連續值:
L = df.groupby(df['Col1'].diff().ne(1).cumsum())['Col1'].agg(tuple).tolist()
print (L)
[(128, 129, 130), (183, 184), (202, 203, 204)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/519489.html
標籤:Python熊猫数据框
上一篇:Pandas資料框中列的重復計數
