我有一个数据框
| id | date | KPI_1 | ... | KPI_n
| 1 |2012-12-12 | 0.1 | ... | 0.5
| 2 |2012-12-12 | 0.2 | ... | 0.4
| 3 |2012-12-12 | 0.66 | ... | 0.66
| 1 |2012-12-13 | 0.2 | ... | 0.46
| 4 |2012-12-14 | 0.2 | ... | 0.45
| ...
| 55| 2013-03-15 | 0.5 | ... | 0.55
Run Code Online (Sandbox Code Playgroud)
我们有
我必须为每一行计算一些派生的 KPI,而这个 KPI 取决于每个 ID 的先前值。假设我的派生 KPI 是一个差异,它将是: …
我正在将应用程序从java迁移到Scala.在java中我有点喜欢
abstract class CommonObjectInfo{//...}
class ConcreteObject extends CommonObjectInfo{//...}
abstract class AbstractWrapper<E extends CommonObjectInfo>{//...}
class ConcreteWrapper extends CommonObjectInfo<ConcreteObject>{//...}
Run Code Online (Sandbox Code Playgroud)
我如何正式表达Scala中的"包装器"对象?一世
我正在努力实现我在这里使用Reactive Extensions for Javascript(RX-JS)发布的相同效果.我对如何做到有点困惑.这是页面:
<!DOCTYPE html>
<html>
<head>
<title>drag and drop</title>
</head>
<style type="text/css">
canvas {
border:1px solid steelblue;
background-color: whitesmoke;
}
</style>
<body>
<canvas id="canvas" width=300 height=300></canvas>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(function() {
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var canvasOffset = $("#canvas").offset();
var offsetX = canvasOffset.left;
var offsetY = canvasOffset.top;
var drawing = false;
var mouseX = 0;
var mouseY = 0;
function handleMouseDown(e) {
mouseX = parseInt(e.clientX - offsetX);
mouseY = parseInt(e.clientY - offsetY); …Run Code Online (Sandbox Code Playgroud) 我在Clojure尝试一些懒惰的流.如果我做:
(defn ints-from [n]
(cons n (lazy-seq (ints-from (inc n)))))
Run Code Online (Sandbox Code Playgroud)
和
(def nats (ints-from 0))
Run Code Online (Sandbox Code Playgroud)
没关系,我可以这样做:
(take 5 nats)
Run Code Online (Sandbox Code Playgroud)
现在我试图将2个函数封装在1中:
(defn natz[]
( letfn [(aux [n]((cons n (lazy-seq (aux (inc n)))))) ] (aux 0) ))
Run Code Online (Sandbox Code Playgroud)
这似乎是编译,但没有做我期望的.
(take 4 natz)
Run Code Online (Sandbox Code Playgroud)
得到:
(user=> IllegalArgumentException Don't know how to create ISeq from: user$natz
clojure.lang.RT.seqFrom (RT.java:494)
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
假设在Scala我有类似的东西:
class NSV(val name:String,val value:String) {
}
Run Code Online (Sandbox Code Playgroud)
和NSV清单.有一种一次性的方法从列表中包含的实例中提取所有"名称"属性并将它们存储在新的列表中?就像是:
val names:List[String] = ... ?
Run Code Online (Sandbox Code Playgroud) scala ×2
apache-spark ×1
canvas ×1
clojure ×1
collections ×1
extract ×1
generics ×1
html5 ×1
javascript ×1
recursion ×1
rxjs ×1