Pandas:我有一个如下所示的数据框,其中包含了两次相同的银行集合。我需要从包含银行名称的第0个索引切片数据,到包含相同银行名称的索引。在这个问题中是DEUTSCH BANK AG。我需要对任何这种类型的数据框应用相同的逻辑。谢谢。
我尝试了逻辑:df25.iloc[0,1]==df25[1].any()
,但它只返回True而不是索引位置。
数据框:[1]:https://i.sstatic.net/iJ1hJ.png, https://i.sstatic.net/J2aDX.png
回答:
你需要获取所有包含你要查找的值(在本例中是银行名称)的行的索引,然后使用这些索引来切片数据框。
示例:
df = pd.DataFrame({'Col1':list('abcdeafgbfhi')})search_str = 'b'idx_list = list(df[(df['Col1']==search_str)].index.values)print(df[idx_list[0]:idx_list[1]])
输出:
Col11 b2 c3 d4 e5 a6 f7 g
请注意,假设只有两行包含相同的值。如果有超过两行,你需要处理索引列表的值,获取你需要的内容。希望这对你有帮助。
请记住,发布一个样本数据集总是有助于你获得更多回答,因为人们在看到图片或截图时会转向另一个问题,因为这涉及到重现问题的额外步骤