删除数据框中的选择性行的功能

问题描述 投票:0回答:1

我有一个问题。

我想删除数据框中的行,但是我的功能是删除错误的行。抱歉,这不是最好的代码,因为我刚刚开始,并且不断的打印是我的错误搜索。

#Reduce by a factor
    firstrow = int(in_csv.loc[in_csv.index[0]].name)
    lastrow = int(in_csv.loc[in_csv.index[-1]].name)

    for i in range (firstrow, lastrow+1):
        division = (i/reduce_factor)
        print (str(i) + " is " + str(division))
        print ("Division" + str(math.modf(division)))
        if ((math.modf(division)[0]) != 0):
            print (i)
            print (in_csv.iloc[i])
            i_drop = in_csv.loc[in_csv.index[i]].name
            print ("drop: " + str(i_drop))
            in_csv.drop([i], inplace=True)

结果如下

5 is 2.5
Division(0.5, 2.0)
5
Time             5/11/20 12:01:32 AM
number                     1

Name: 7, dtype: object
drop: 7

对于第5行的计算,它删除第7行,对于第7行,它是10,对于第3行,它是第4行,对于第1行,它是正确的。因此,对于每一下降的行,故障都会增加一行。

我怎么了?

python pandas dataframe
1个回答
0
投票

我想您应该收集要删除的行的索引并执行删除之后循环。

但是请确保我必须了解您的DataFrame的内容,至少初始部分,包括相关行。

© www.soinside.com 2019 - 2024. All rights reserved.