删除python中的行少于某个值

时间:2017-01-23 06:29:42

标签: python pandas row multiple-columns

我觉得这个问题以前一定是有人回答的,但是我找不到堆栈溢出的答案!

我的数据框result看起来像这样,我想删除小于或等于 10

的所有值
>>> result
                       Name              Value      Date
189                   Sall                19.0  11/14/15
191                     Sam               10.0  11/14/15
192                 Richard               21.0  11/14/15
193                  Ingrid                4.0  11/14/15 

此命令可以使用并删除所有10:

的值
df2 = result[result['Value'] != 10]

但是当我尝试添加< =限定符时,我收到错误消息SyntaxError: invalid syntax

df3 = result[result['Value'] ! <= 10]  

我觉得可能有一个非常简单的解决方案。提前谢谢!

3 个答案:

答案 0 :(得分:18)

而不是这个

<div class="container body-content" >

   < form name="mainForm" class="form-horizontal" method="post" >

     < div class="row" >
            < div class="col-sm-2"><label>Main Category : </label></div >
            < div class="col-sm-6"><input spellcheck="true" ng-disabled="editVM.FirstLevel.ID > 0" type="text" style="font-size:15px; width:100%;" class="form-control" id="Main_Cat" ng-model="editVM.FirstLevel.Name">< /div>
            < div class="col-sm-4"></div >
     < /div>

使用

df3 = result[result['Value'] ! <= 10]  

它会起作用。 或者只是使用

df3 = result[~(result['Value'] <= 10)]  

答案 1 :(得分:6)

python不使用!来否定。它使用notSee this answer
在此特定示例中,!=是两个字符的字符串,表示not equal。这不是对==的否定。

选项1
这应该有效,除非你有NaN

result[result['Value'] > 10]

选项2
使用一元运算符~来否定一个布尔系列

result[~(result['Value'] <= 10)]

答案 2 :(得分:2)

我还有另一个建议,可以帮忙

  function getUsers(sheet, page, limit, search){
    var rows = sheet.getDataRange().getValues().slice(1).filter(([,,c]) => c == search).reverse();
    var dataArray = rows.splice(limit * (page - 1), limit).reduce((ar, [a, b, c, d]) => ar.concat({id: a, year: b, title: c, img: d}), []);
    var jo = {};
    jo.user = dataArray;
    var result = JSON.stringify(jo);
    return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType.JSON);
  }