删除符合列值标准的行

时间:2019-04-09 16:55:08

标签: python pandas dataframe

我有一个名为df的数据框

   a       b  
0  str1    0
1  str2   .8
2  str3   .4
3  str4   .1

我正在遍历此数据框。 (我知道这不是最有效的方法)。

我想将所有行都放在b>.7处。这是在循环中进行迭代,因此我想从同一数据帧中删除。

附录的语法如下:

new_df = new_df.append(df[df['a']>.7],ignore_index= 'True')

我可以对滴液进行类似的处理吗?

df.drop(df[df['a']>.7])

我得到了错误: “ .... not found in axis

预期结果为df,如下:

   a       b  
0  str1    0
2  str3   .4
3  str4   .1

1 个答案:

答案 0 :(得分:0)

这很容易。并且使用布尔索引的方法有多种:

1)保留b小于或等于7的行

df = df[df.b<=0.7]

2)在相同条件下使用.loc

df = df.loc[df.b<=0.7]

3)过滤掉大于0.7的行

df=df[~df.b>0.7]