确定缺失的时间--找到时间缺口
我有一个小时的桌子,但是有空白.我需要找到缺少的时间. select datehour from stored_hours order by 1; 此时间表中的差距很容易找到: select lag(datehour) over(order by datehour) since, datehour until , timestampdiff(hour, lag(datehour) over(order by datehour), datehour) - 1 missing from stored_hours qualify missing > 0 这些天我该如何创建缺少小时的列表? (带有雪花和SQL) 解决方案 创建缺少小时的列表/表: 生成现有表最小/最大之间的所有小时列表. 要使用雪花生成该列表,您需要使用会话变量(因为发电机仅适用于长度的常数. 然后找到左联接的缺少时间,寻找空. 使用变量找出开始和总小时数: set (
8 2024-04-23
编程技术问答社区
对时间序列趋势数据进行重新取样、汇总和插值
在分析能源需求和消费数据时,我正在发行重新采样和插值时间序列趋势数据. 数据集示例: timestamp value kWh ------------------ --------- 12/19/2011 5:43:21 PM 79178 12/19/2011 5:58:21 PM 79179.88 12/19/2011 6:13:21 PM 79182.13 12/19/2011 6:28:21 PM 79183.88 12/19/2011 6:43:21 PM 79185.63 基于这些观察结果,我希望基于一段时间的汇总值进行汇总值,该频率设置为一个时间单位. 如小时的间隔,填补了丢失数据的所有空白 timestamp value (approx) ------------------ --------- 12/19/2011 5:00:00
0 2024-04-15
编程技术问答社区
为多个ACF制作一个boxplot
我使用以下内容在大约200列上运行forecast::Acf.现在,我想生成一个箱形图,显示滞后1:36的相关值的分布. ## a simple example d > 36是有道理的!): ## for data frame `d` acfs
12 2024-04-03
编程技术问答社区
从Pandas时间序列中生成周天图的最佳方法
我正在尝试为a时间赛创建一组周的拳击表(例如5分钟的温度观测). 我的代码: # ts is our timeseries ts = df.SomeColumn dow_map = {} days = ['MON','TUE','WED','THU','FRI','SAT','SUN'] dow_idx = ts.index.dayofweek i = 0 for d in days: dow_map[d] = ts[dow_idx == i] i = i + 1 df = pd.DataFrame(dow_map) df.boxplot() 导致: --------------------------------------------------------------------------- Exception Traceback (most recent call las
8 2024-04-03
编程技术问答社区
pandas中的时间序列boxplot
如何为每天有一个盒子的熊猫时间序列创建一个箱形图? 小时数据的示例数据集,其中一个框应包含24个值: import pandas as pd n = 480 ts = pd.Series(randn(n), index=pd.date_range(start="2014-02-01", periods=n, freq="H")) ts.plot() 我知道我可以在一天中额外做一个额外的列,但是我想具有适当的x轴标签和x-limit功能(例如ts.plot()中),因此能够使用DateTime索引会很棒. r/ggplot2 在这里,如果有助于澄清我想要的. 解决方案 如果它是您的选择,我建议您使用 seaborn "> seaborn ,这是Matplotlib的包装纸.您可以通过从时间表中
6 2024-04-03
编程技术问答社区
Pandas, Bokeh, 或使用任何绘图库为季节性数据移动X轴(7->12->6个月或7月1日至6月30日)。
我想显示7月1日至6月30日的季节性季节性降雪数据. df = pd.DataFrame({'date1':['1954-03-20','1955-02-23','1956-01-01','1956-11-21','1958-01-07'], 'date2':['1954-03-25','1955-02-26','1956-02-11','1956-11-30','1958-01-17']}, index=['1954','1955','1956','1957','1958']) 这是我以前的问题的扩展斯科特·波士顿(Scott Boston)在回答我在这个问题上的评论时,建议使用range1d并修改答案,以我如何在bokeh中完成`set_xlim`或`set_ylim`?.它适用于连续标量,但我无法与[182:366],[1:181]这样的不连续范围使用. 添加x_range = range1d(182,366
4 2024-04-01
编程技术问答社区
Pandas: 使用Bokeh或任何其他绘图库将多年来的事件日期变化可视化
我想创建一个情节,其中y轴是我拥有数据的季节性数量,而X轴则在几个月和几天内.每个季节性的年份都会有两个日期. |1957|... |1956| d1--------d2 |1955| d1---------d2 |1954| d1---------d2 |June01|...|Jan01...|Feb11|...|Feb23|...|Feb26|...|Mar20|...|Mar25|.. 我几乎有我想要的图,除了X轴覆盖了整个时间跨度,而不仅仅是12个月. from bokeh.plotting import figure p1 = figure(plot_width=1000, plot_height=300, x_axis_type="datetime") p1.ci
4 2024-04-01
编程技术问答社区
在Bokeh中使用带有索引的数据框架的时间序列
我正在尝试使用散景绘制包含数年和数字的DateTime列的Pandas dataframe.如果将DateTime指定为x,则该行为是预期的(x轴的年).但是,如果我使用set_index将DateTime列转换为数据框的索引,然后仅在TimeSeries中指定y,我会在x轴上获得毫秒的时间.最小示例 import pandas as pd import numpy as np from bokeh.charts import TimeSeries, output_file, show output_file('fig.html') test = pd.DataFrame({'datetime':pd.date_range('1/1/1880', periods=2000),'foo':np.arange(2000)}) fig = TimeSeries(test,x='datetime',y='foo') show(fig) output_file('fig2.html')
10 2024-04-01
编程技术问答社区
如何根据Python的时间分辨率检索上方和下方的记录\下方\中间数据的中位数?
假设我有以下时间数据 1个月或一月份(31天): import os, holoviews as hv os.environ['HV_DOC_HTML'] = 'true' hv.extension('bokeh') import pandas as pd import pandas_bokeh from pandas_bokeh import plot_bokeh pandas_bokeh.output_notebook() #----------------------------------------------------------- # Libs #----------------------------------------------------------- #!pip install hvplot #!pip install pandas-bokeh #--------------------------------------------------
14 2024-04-01
编程技术问答社区
R:从一个时间列中展开二进制值的序列
我有一个时间表和二进制值, > head(x,10) Time binary 1 358.214 1 2 359.240 1 3 360.039 0 4 361.163 0 5 361.164 1 6 362.113 1 7 362.114 0 8 365.038 0 9 365.039 0 10 367.488 0 我想在第二个二进制列中的值是1或0,然后创建新值的新列.这里的时间不在.例如,这里的第一个值是(358.214),二进制值为1,如果我添加第二个值,它将为(359.214),并且该值仍然基于先前的值1,因为(359.214)不在数据集中. 我想添加两个新列,一个增加了几秒钟,一个用于新的二进制值. time2 new_binary 1 35
2 2024-03-30
编程技术问答社区
季节性Arima模型的参数组合
我正在使用时间表使用趋势和/或季节性组件的数据集数据.我创建了测试和培训数据集,还使用时间序列分析检查了完整性.我正在使用Arima进行数据中的串行相关性,以查看时间序列中值之间的差异 因此,要以矩阵表单生成参数列表,我写了以下代码 warnings.filterwarnings("ignore") # specify to ignore warning messages p = d = q = range(0,2) seasonal_period =12 pdq = list (itertools.product(p,d,q)) seasonal_pdq = [(x[0], x[1], x[2], seasonal_period) for x in list (itertools.product(p,d,p))] print ("Example of parameter combination for seasonal A
14 2024-03-30
编程技术问答社区
用于时间序列的Cassandra数据模型
我正在研究用于存储时间序列的卡桑德拉数据模型(我是卡桑德拉·纽维). 我有两个应用程序:日内库存数据和传感器数据. 库存数据将通过一分钟的时间分辨率保存. 七个DataField构建了一个时间范围: 符号,日期,开放,高,低,关闭,音量 我将主要通过符号和日期查询数据.例如在DateTime订购的2013-01-01和2013-01-31之间,请给我AAPL的所有数据. Cassandra查询的建议是查询整列.因此,您可以使用钥匙打开,高,低,关闭,音量创建五行.对于每个符号,并分钟为自己的列.例如. " AAPL:2013-01-04T130400Z". 这将导致一个五行和n*nt列的表,其中n =符号数,nt =分钟数. 大多数时候,我会查询日期范围. IE.一天的所有分钟.因此,我可以将数据重新排列为具有名为" AAPL:2013-01-04"和行的列:Opent130400Z,Hight130400Z,Lowt130400Z,Clotet130400Z,volumet
14 2024-03-30
编程技术问答社区
使用ggplot()和bsts()软件包,从带有MCMC的贝叶斯时间序列分析中制作BSTS平均绝对百分比误差(MAPE)图
问题: 我有一个名为FID的数据框(请参阅下文),其中包含每年和月份的两列,以及vighte_frequency(鸟类计数). 数据框架包含 3年 2015-2017 之间的观察结果,这表明我有36个月的数据.我已经使用MCMC 在 bsts()函数中运行贝叶斯时间序列分析在 bsts package (请参阅下面的R-Code)通过遵循以下教程. 我想产生一个holdout 平均绝对百分比误差(MAPE)图如下图所示,该图说明了使用软件包 ggplot(). 当我尝试产生 d2数据框架时,我会被卡住(请参阅下面的教程和R-Code),因为我一直在体验此错误消息: - Error in data.frame(c(10^as.numeric(-colMeans(bsts.model$one.step.prediction.errors[-(1:burn), : arguments imply differing number of rows: 48,
10 2024-03-29
编程技术问答社区
从包含多列和日期时间索引的数据帧中生成条形图
我的数据框,具有这样的两个列(以日期为索引): 我的目标是与这样的海洋(与Excel)一起绘制酒吧: 我遵循了 seaborn多变量群组bar lot P> 我知道我必须使用熔体,但是当我放置以下代码时,结果是索引(日期)消失(由数字替换),并且数据帧结构像这样更改: # pd.melt(df, id_vars=['A'], value_vars=['B']) premier_melt = pd.melt(final_mada_df,id_vars=["Confirmed"],value_vars = ["Recovered"]) 我们如何解决此类问题以正确地绘制海洋 我在下面的建议下将代码放在以下建议之后: # main dataframe df2 Recovered Confirmed 3/20/20 0 3 3/21/20 0 0 3/22/20 0 0 3/2
6 2024-03-27
编程技术问答社区
如何在R中创建一个水平堆积条形图风格的时间序列图?
我想创建一个水平的"堆叠栏"类型图,其中日期沿x轴运行,我的样本显示为y轴上的条.在下面的简单示例中,我有三个样本(a,b,c),每个样本包含三个值(0、1、2).我希望根据沿x轴的每个时间步骤的值对水平条进行颜色,以便我最终得到三个水平条(每个样品一个),从我的第一个到最后一个时间点运行并包含一个一系列具有与不同值有关的颜色的块. 例如,假设我希望值0为蓝色,值1为黄色,而值2为红色:对于样品A,痕迹的前两天是蓝色的,那么接下来的两天将为黄色,然后是一个蓝色等等…… 示例数据: df
2 2024-03-27
编程技术问答社区
Highcharts的时间X轴
我想问一下是否有人知道如何将HighCharts中的X轴设置为时间.我的合理是从数据库中获取数据,样品的频率为250ms.我希望X轴不显示计数值,而是像时间一样.我一次渲染2500个值,这意味着10秒.最好的是在X轴上有一个0.5秒的X轴,这意味着每125个样品一个标记.如(0个样本= 0 sec);(125个样品= 0,5秒);(500个样品= 1秒);(725个样品= 1.5 sec) 谢谢您的意见..... chart () { var options = { chart: { renderTo: 'services',
8 2024-03-23
编程技术问答社区
JFreeChart链接轴
我创建了一个带有两个独立的JFree图表(以2x1网格布局保存)的帧.顶级图表显示了丢弃的图表,底部是时间序列图.我想做的是链接两个图表的显示的X轴,以便当我缩放一个图表时,另一个图表缩放到相应的时间段. 这可能吗?如果是这样,你可以给我一个例子 解决方案 所需的内容CombinedDomainXYPlot.而不是创建独立的JFREECHART对象,您需要创建一个组合图并将其放置在此处. 其他解决方案 使用JFreeChart#addChangeListener()向两个图表添加侦听器,并同步ChartChangeListener#chartChanged()内部DomainAxis您将需要某种方法来防止无限循环. 其他解决方案 我在我正在编写的应用程序中使用多个图表做了类似的事情...我只是将一个图表的一个图表设置为从另一个图表中的域,即它们都指单个域名. JFreeChart chart1 = ChartFactory.createXYLineChar
4 2024-03-23
编程技术问答社区