当我遇到ValueError时,我试图将DataFrame列(字符串)转换为def predict(coefficients: Vector, intercept: Double) = {
udf((v: DenseVector) => {
def margin(features: Vector, coefficients: Vector, intercept: Double): Double = {
BLAS.dot(features, coefficients) + intercept
}
def score(features: Vector, coefficients: Vector, intercept: Double): Double = {
val m = margin(features, coefficients, intercept)
1.0 / (1.0 + math.exp(-m))
}
val recency = v(0)
val frequency = v(1)
val tp = score(new DenseVector(Array(recency, frequency)), coefficients, intercept)
new DenseVector(Array(tp, 1 - tp))
})
}
格式。以下是使用字符串而不是DataFrame列的可重现代码(和错误):
datetime
这是一个真正的问题还是我做错了什么?如何解决这个问题?
答案 0 :(得分:4)
http://pandas.pydata.org/pandas-docs/stable/timeseries.html#timeseries-oob
以下是表示边界之外的数据的方法(从时间戳(' 1677-09-22 00:12:43.145225')到时间戳(' 2262-04-11) 23:47:16.854775807'))。
在TimeStamp边界之外进行计算的推荐方法是使用PeriodIndex。