我试图在其中一列中使用几个nan / inf值对大数据帧的列进行子集化。
我试过这样的例子。
df = df[df['a'] == 'NaN']
或
df = df[df['a'] == 'Inf']
如何在列中引用这些类型的值?
答案 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))]