如何修改要遍历的熊猫数据框?

时间:2018-10-18 21:26:41

标签: python pandas loops scipy

我知道-这是僵尸。 但是,当optimize.curve_fit击中一行(可能是5个)相同的值时,它退出并返回一条直线。

我不想删除所有重复项,但我想我可以删除任何相同三胞胎的中间成员,而不会对合身性造成太大损害。

所以我想使用迭代,并在行时删除行,但是我知道我可能正在处理副本,而不是原始副本。

或者,我可以对索引进行老式循环。

如何安全地执行此操作,并确保每次删除时都更新循环的end参数?

这是一个例子:

i = 1
while i < len(oneDate.index)-1:
    print("triple=",oneDate.at[i-1,"Nprem"],oneDate.at[i,"Nprem"],oneDate.at[i+1,"Nprem"])
    if oneDate.at[i,"Nprem"]==oneDate.at[i-1,"Nprem"] and oneDate.at[i,"Nprem"]==oneDate.at[i+1,"Nprem"]:
        print("dropping i=",i,oneDate.at[i,"Nprem"])
        oneDate.drop([i])
        oneDate = oneDate.reset_index(drop=True)
        pause()
    else: i = i +1

我假定当我放下并重置时,下一项将移入已删除的插槽,因此我不必增加索引。但这没有,所以我遇到了无限循环。

1 个答案:

答案 0 :(得分:0)

好的,我找到了inplace = True选项,现在可以正常使用了。