- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在处理时间序列数据时遇到问题。由于电源故障,数据集中缺少一些时间戳。我需要通过添加行来填补这个空白,然后,我可以插入缺失的值。
输入数据:
periodstart usage
---------------------------------
2015-09-11 02:15 23000
2015-09-11 03:15 23344
2015-09-11 03:30 23283
2015-09-11 03:45 23786
2015-09-11 04:00 25039
periodstart usage
---------------------------------
2015-09-11 02:15 23000
2015-09-11 02:30 0
2015-09-11 02:45 0
2015-09-11 03:00 0
2015-09-11 03:15 23344
2015-09-11 03:30 23283
2015-09-11 03:45 23786
2015-09-11 04:00 25039
MissingMeasurementsDS.collect().foreach(row => {
// empty list for new generated measurements
val output = ListBuffer.empty[Measurement]
// Missing measurements
val missingMeasurements = row.getAs[Int]("missingmeasurements")
val lastTimestamp = row.getAs[Timestamp]("previousperiodstart")
//Generate missing timestamps
var i = 1
while (i <= missingMeasurements) {
//Increment timestamp with 15 minutes (900000 milliseconds)
val newTimestamp = lastTimestamp.getTime + (900000 * i)
output += Measurement(new Timestamp(newTimestamp), 0))
i += 1
}
//Join interpolated measurements with correct measurements
completeMeasurementsDS.join(output.toDS())
})
completeMeasurementsDS.show()
println("OutputDF count = " + completeMeasurementsDS.count())
最佳答案
如果输入 DataFrame
具有以下结构:
root
|-- periodstart: timestamp (nullable = true)
|-- usage: long (nullable = true)
val (minp, maxp) = df
.select(min($"periodstart").cast("bigint"), max($"periodstart".cast("bigint")))
.as[(Long, Long)]
.first
val step: Long = 15 * 60
val reference = spark
.range((minp / step) * step, ((maxp / step) + 1) * step, step)
.select($"id".cast("timestamp").alias("periodstart"))
reference.join(df, Seq("periodstart"), "leftouter").na.fill(0, Seq("usage"))
from pyspark.sql.functions import col, min as min_, max as max_
step = 15 * 60
minp, maxp = df.select(
min_("periodstart").cast("long"), max_("periodstart").cast("long")
).first()
reference = spark.range(
(minp / step) * step, ((maxp / step) + 1) * step, step
).select(col("id").cast("timestamp").alias("periodstart"))
reference.join(df, ["periodstart"], "leftouter")
关于scala - 填补时间序列 Spark 中的空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52095181/
这个问题困扰了我一段时间,因为我一直在寻找一种有效的方法。基本上,我有一个数据框,每行都有一个来自实验的数据样本。我想这应该更多地被视为来自实验的日志文件,而不是用于分析的数据的最终版本。 我遇到的问
我有一个带有 IDENTITY 列的表 [Id] int IDENTITY(1, 1) NOT NULL 在添加/删除了一些行之后,我以 Id 值的差距结束: Id Name ---------
我有一个发票表,我在其中存储给定数据范围的发票(即 2012-01-01 到 2012-01-31 之间日期的发票 1)。现在有几天可能没有关联的发票,所以你会有 > ID | START_DATE
我正在查询 DATE 字段: SELECT DATE , FIELD2 , FIELD3 into Table_new FROM Table_old WHERE (crite
我有下表 data_users id | signed_up_at | product_id -------+---------------------------------
抱歉这个模糊的主题,但我想不出该放什么。 这是我的问题,我正在对一个表进行查询,该表返回与一天相关的项目计数。我想确保如果我对数据库进行查询,我总是会得到一定数量的行。例如,假设我有下表,其中包含人们
这个问题在这里已经有了答案: Why does CSS Grid layout add extra gaps between cells? (4 个答案) CSS-only masonry layo
给定数据框 df = pd.DataFrame(data=[[1,1,3],[1,2,6],[1,4,3],[2,2,6]],columns=['ID','Day','Value']) df Out[
我有以日期时间为索引的 Pandas DataFrame(从 .csv 加载).. 每天有/必须有一个条目。问题是我有差距,即有些日子我根本没有数据。在间隙中插入行(天)的最简单方法是什么?还有一种方
我只想用最简单的术语对 3D 数据集进行插值。线性插值,最近邻,这就足够了(这是开始一些算法,所以不需要准确估计)。 在新的 scipy 版本中,像 griddata 这样的东西会很有用,但目前我只有
我有一个类似于下面示例的多维数组,我想使用 Ruby 的 zip 方法将其组合在一起。当每个内部数组具有相同数量的元素时,我可以正常工作,但当它们的长度不同时,我会遇到问题。 在下面的示例中,第二组在
我有一个由日期和一些值组成的数组或对象: var flatData = [ { "date": "2012-05-26", "product": "apple" }, { "date
我有一个带有列 Age 的表格, Period和 Year .栏目Age总是从 0 开始并且没有固定的最大值(我在这个例子中使用了 'Age' 0 到 30,但范围也可以是 0 到 100 等),值
在 SQL Server 2014 中,我有一个如下所示的 Periods 表: | PeriodId | PeriodStart | PeriodEnd | -------------------
在 SQL Server 2014 中,我有一个如下所示的 Periods 表: | PeriodId | PeriodStart | PeriodEnd | -------------------
我正在尝试在 NVD3.js 中制作水平分组堆叠条形图。一切都很好,直到我的 JSON 数据出现“差距”,如下所示: [{ "key": "Education & news",
我想修改一个 pandas MultiIndex DataFrame,使每个索引组都包含指定范围之间的日期。我希望每个组用值 0(或 NaN)填写缺失的日期 2013-06-11 到 2013-12-
我是一名优秀的程序员,十分优秀!