删除每个循环中的数据框索引

时间:2019-06-26 19:40:17

标签: python pandas

我有一个很大的数据框,我想通过该数据框循环并执行基于索引条件的语句。我希望每个循环都更新数据框,以便从数据框中删除在上一个循环中处理的索引,以便在每个下一个循环中,应有较少的迭代行。

df = pd.DataFrame(np.random.random((1000,5)), columns['a','b','c','d','e'])

for index,b,c in zip(df.index, df.b, df.c):
    if index%2==0:
        pass
df = df.drop(df.index[index])

我要在最后一步中更新数据框。如果 if index%2 == 0:的索引为True,则应将其从数据框中删除,以便在下一次迭代中,将datframe的长度减少一半(在这种情况下)。       这给了我索引范围的错误,这很明显,因为数据帧未正确更新。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您应该完成if ... else逻辑

l=[]
for index,b,c in zip(df.index, df.b, df.c):
    if index%2==0:
        pass
    else : 
        l.append(index)
df=df.drop(l)    
df.shape
Out[214]: (500, 5)