我有一个名为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
答案 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]