我知道-这是僵尸。 但是,当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
我假定当我放下并重置时,下一项将移入已删除的插槽,因此我不必增加索引。但这没有,所以我遇到了无限循环。
答案 0 :(得分:0)
好的,我找到了inplace = True选项,现在可以正常使用了。