在数据帧中,如何基于同时满足不同条件的起始行和结束行过滤一组行
如果其中一个字符串列包含特定的子字符串,则该行是起始行。然后,如果我的字符串列包含另一个子字符串的另一行,则该行是结束行。我需要一种方法来过滤这两行之间的所有行
我试着用
start_row = df_page['StringCol'].str.contains('SubStrForStartRow')
这给了我一个布尔级数,它的起始行为“True”。但是,我不知道如何进一步实现我上面描述的目标
例如,考虑一个数据框如下
data = [['UnwantedRow', ''],['TransactionStart', ''],['Date1', 200],['Date2', 300],['TransactionEnd', ''],['UnwantedRow','']]
df = pandas.DataFrame(data, columns=['Transaction', 'Value'])
使用“开始”和“停止”子字符串,我希望能够过滤掉“TransactionStart”行和“TransactionEnd”行之间的所有行。即,仅包含['Date1',200]和['Date2',300]的两行
返回带有
.index[0]
的开始行和结束行的索引号,并使用iloc
筛选这些行。iloc的上限是独占的,这就是我使用end_row+1
的原因:相关问题 更多 >
编程相关推荐