我只是尝试制作我的第一个ML.NET项目,之前我使用 Azure ML、可视化界面、Python 等构建了该项目,但现在我想使用C#来完成。
我正在遵循本教程,但具有完全不同的数据集和目的。
数据集有很多额外的列,但我的数据模型如下所示(指向数据集中列的索引):
using Microsoft.ML.Data;
namespace ML_Net
{
public class Earthquake
{
[LoadColumn(1)]
public int geo_level_1_id { get; set; }
[LoadColumn(2)]
public int geo_level_2_id { get; set; }
[LoadColumn(3)]
public int geo_level_3_id { get; set; }
[LoadColumn(4)]
public int count_floors_pre_eq { get; set; }
[LoadColumn(5)]
public int age { get; set; }
[LoadColumn(6)]
public int area { get; set; }
[LoadColumn(7)]
public int height { get; set; }
[LoadColumn(8)]
public int …Run Code Online (Sandbox Code Playgroud) 所以我有一个列,它是Pandas Dataframe中列的对象类型。
它包含以下数据:
array(['9.4', '9.8', '10', '9.5', '10.5', '9.2', '9.9', '9.1', '9.3', '9',
'9.7', '10.1', '10.6', '9.6', '10.8', '10.3', '13.1', '10.2',
'10.9', '10.7', '12.9', '10.4', '13', '14', '11.5', '11.4', '12.4',
'11', '12.2', '12.8', '12.6', '12.5', '11.7', '11.3', '12.3', '12',
'11.9', '11.8', '8.7', '13.3', '11.2', '11.6', '11.1', '13.4',
'12.1', '8.4', '12.7', '14.9', '13.2', '13.6', '13.5',
'100.333.333.333.333', '9.55', '8.5', '110.666.666.666.667',
'956.666.666.666.667', '10.55', '8.8', '135.666.666.666.667',
'11.95', '9.95', '923.333.333.333.333', '9.25', '9.05', '10.75',
'8.6', '8.9', '13.9', '13.7', '8', '8.0', '14.2', '11.94',
'128.933.333.333.333', '114.666.666.666.667', …Run Code Online (Sandbox Code Playgroud) 我在一个使用库的项目上工作,这对我来说是很新的,尽管我在其他项目中使用它也没有任何问题。
org.joda.time.DateTime
因此,我与Scala一起工作,并在Databricks上作为项目来运行该项目。
scalaVersion:=“ 2.11.12”
异常来自的代码-根据我到目前为止的调查^^-如下:
var lastEndTime = config.getState("some parameters")
val timespanStart: Long = lastEndTime // last query ending time
var timespanEnd: Long = (System.currentTimeMillis / 1000) - (60*840) // 14 hours ago
val start = new DateTime(timespanStart * 1000)
val end = new DateTime(timespanEnd * 1000)
val date = DateTime.now()
Run Code Online (Sandbox Code Playgroud)
其中,getState()函数返回1483228800作为Long类型值。
编辑:我在建立数据框时使用开始和结束日期进行过滤。我将列(时间跨度类型)与这些值进行比较!
val df2= df
.where(col("column_name").isNotNull)
.where(col("column_name") > start &&
col("column_name") <= end)
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
错误从用户代码中抛出:java.lang.RuntimeException:不支持的文字类型类org.joda.time.DateTime 2017-01-01T00:00:00.000Z
我不确定我是否真正理解这是怎么回事,为什么会出错,所以每种帮助都是值得欢迎的!!提前非常感谢您!!