[英]Iterating trough rows and getting the current and only next row if a condition is met python
df_test = pd.DataFrame({'date':['2022-06-01', '2022-06-02', '2022-06-04', '2022-06-08'], 'sent':['true', 'true', 'false', 'true']}) date sent 0 2022-06-01 true 1 2022-06-02 true 2 2022-06-04 false 3 2022-06-08 true 4 2022-06-09 true 5 2022-06-10 false 6 2022-06-12 true 7 2022-06-14 true
i want to iterate trough this df and when sent == 'false' i want to save this and only the next following rows in a new df.我想遍历这个df,当发送=='false'时,我想保存这个,并且只保存新df中的下一行。
so i want two have a second df like this所以我想要两个像这样的第二个df
date sent 2 2022-06-04 false 3 2022-06-08 true 5 2022-06-10 false 6 2022-06-12 true
Try:尝试:
sent_false = (df_test['sent'] == 'false')
df_sent_false = df_test[sent_false | sent_false.shift(1)]
print(df_sent_false)
date sent
2 2022-06-04 false
3 2022-06-08 true
With resetting the index:重置索引:
df_sent_false.reset_index(drop=True, inplace=True)
date sent
0 2022-06-04 false
1 2022-06-08 true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.