如何在Dato SFrame

时间:2016-07-04 00:40:32

标签: python sframe

我试图在其中一列中使用几个nan / inf值对大数据帧的列进行子集化。

我试过这样的例子。

df = df[df['a'] == 'NaN']

df = df[df['a'] == 'Inf']

如何在列中引用这些类型的值?

2 个答案:

答案 0 :(得分:0)

你知道这是一本字典,所以你不能使用理解,但你可以迭代:

subset = {}

for d in df:
   if d['a']=='Nan':
         subset.update(d)

print subset

答案 1 :(得分:0)

NaN是一个特殊值。它不等于任何东西,甚至不是自己。这是通过NaN过滤的一种方法:

<!DOCTYPE html>
<html>

<head>
</head>

<body>
  <form method="get" entype="multipart/form-data" target="binaryFrame">
    <input id="#avatar" type="file" name="file" />
    <input type="submit" />
  </form>
  <iframe name="binaryFrame"></iframe>
  <script>
    var input = document.querySelector("input[type=file]");
    input.addEventListener("change", handleFiles, true);
    // see http://jsfiddle.net/adamboduch/JVfkt/
    var sock = new WebSocket("ws://mock");
    sock.binaryType = "arraybuffer";
    sock.onerror = function(e) {
        console.log("sock error", e); // ignore, here
      }

    sock.onmessage = function(e) {
      console.log("socket message", e.data, e.data instanceof ArrayBuffer);
    };

    function handleFiles(evnet) {
      var file = event.target.files[0];
      sock.dispatchEvent(new MessageEvent("message", {
        data: file
      }));
      var data = new FormData();
      data.append("file", file);
      document.forms[0].action = data;
    }
  </script>
</body>

</html>

Inf更容易:

import math
df = df[df['a'].apply(lambda x: math.isnan(x))]