小编kli*_*lib的帖子

确定Python中重叠时间序列的最有效方法

我试图确定两个时间序列使用python的pandas库重叠的时间百分比.数据是非同步的,因此每个数据点的时间不对齐.这是一个例子:

时间序列1

2016-10-05 11:50:02.000734    0.50
2016-10-05 11:50:03.000033    0.25
2016-10-05 11:50:10.000479    0.50
2016-10-05 11:50:15.000234    0.25
2016-10-05 11:50:37.000199    0.50
2016-10-05 11:50:49.000401    0.50
2016-10-05 11:50:51.000362    0.25
2016-10-05 11:50:53.000424    0.75
2016-10-05 11:50:53.000982    0.25
2016-10-05 11:50:58.000606    0.75
Run Code Online (Sandbox Code Playgroud)

时间序列2

2016-10-05 11:50:07.000537    0.50
2016-10-05 11:50:11.000994    0.50
2016-10-05 11:50:19.000181    0.50
2016-10-05 11:50:35.000578    0.50
2016-10-05 11:50:46.000761    0.50
2016-10-05 11:50:49.000295    0.75
2016-10-05 11:50:51.000835    0.75
2016-10-05 11:50:55.000792    0.25
2016-10-05 11:50:55.000904    0.75
2016-10-05 11:50:57.000444    0.75
Run Code Online (Sandbox Code Playgroud)

假设系列保持其值直到下一次更改,确定它们具有相同值的时间百分比的最有效方法是什么?

让我们计算这些系列重叠的时间从11:50:07.000537开始,到2016-10-05 11:50:57.000444 0.75结束,因为我们有这个时期的两个系列的数据.有重叠的时间:

  • 11:50:10.000479 - 11:50:15.000234(两者的值均为0.5)4.999755秒
  • 11:50:37.000199 - 11:50:49.000295(两者的值均为0.5)12.000096秒
  • 11:50:53.000424 - 11:50:53.000982(均值为0.75)0.000558秒 …

python performance time-series pandas pandas-groupby

9
推荐指数
1
解决办法
1473
查看次数

Python Bokeh表列和标题不对齐

我试图使用python和可视化库Bokeh在jupyter笔记本中显示一个表.我使用以下代码在jupyter笔记本中显示我的表,其中result是一个数据帧:

source = ColumnDataSource(result)

columns = [
        TableColumn(field="ts", title="Timestamp"),
        TableColumn(field="bid_qty", title="Bid Quantity"),
        TableColumn(field="bid_prc", title="Bid Price"),
        TableColumn(field="ask_prc", title="Ask Price"),
        TableColumn(field="ask_qty", title="Ask Quantity"),
    ]

data_table = DataTable(source=source, columns=columns, fit_columns=True, width=1300, height=800)
show(widgetbox([data_table], sizing_mode = 'scale_both'))
Run Code Online (Sandbox Code Playgroud)

以前我使用vform虽然现在似乎已经折旧,但也不再按预期工作.这是在我的jupyter笔记本版本更新后发生的.无论我设置的宽度如何,我的列标题都没有排列并且与表格有一些奇怪的重叠:

在此输入图像描述

之前没有发生这种情况,我能够得到一张漂亮的桌子,一切都排好了.即使我调整标题他们仍然不会排队.当我将表保存为html文件而不是直接在Jupyter笔记本中调用show()时,不会发生这种情况.我需要改变什么?有一个更好的方法吗?

完整的例子

from bokeh.io import show, output_notebook
from bokeh.layouts import widgetbox
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import TableColumn, DataTable
import pandas as pd

output_notebook()

d = {'one' : pd.Series([1., 2., 3.], index=['a', 'b', 'c']), 
 'two' : pd.Series([1., 2., 3., 4.], index=['a', …
Run Code Online (Sandbox Code Playgroud)

python ipython bokeh jupyter

8
推荐指数
1
解决办法
1043
查看次数

Python statsmodels ARIMA预测

我正在尝试使用python statsmodels进行样本预测.我不想仅仅预测训练集末尾的下一个x值,但我想一次预测一个值,并在预测时考虑实际值.换句话说,我想做滚动1期预测,但我不想每次都重新校准模型.我能找到的最近的帖子是:

使用statsmodels进行ARMA样本外预测

但是,这使用ARMA而不是ARIMA.如何使用ARIMA实现这一目标还是有更好的方法?我知道我实际上可以拉动系数并自己应用函数但是在我的代码中我使用的ARIMA模型随着时间的推移是动态的,因此系数和滞后值的使用数量不是恒定的.任何帮助将不胜感激.

python time-series forecasting statsmodels

7
推荐指数
1
解决办法
4646
查看次数

Selenium无法找到元素

我正在尝试使用Selenium在网站上找到一个元素.我正在查看的页面是:

http://www.usaswimming.org/DesktopDefault.aspx?TabId=1470&Alias=Rainbow&Lang=en-US

具体来说,我试图找到"姓氏"输入框的元素,并用Java发送密钥.对于文本框,html看起来像这样:

<div class="field">
<input id="ctl62_txtSearchLastName" type="text" maxlength="36" name="ctl00$ctl62$txtSearchLastName">
</div>
Run Code Online (Sandbox Code Playgroud)

因此,我最初尝试通过唯一的id获取元素:

WebDriver driver = new InternetExplorerDriver();
driver.get(timeSearchSite);
...
driver.findElement(By.id("ctl62_txtSearchLastName")).sendKeys(lastName);
Run Code Online (Sandbox Code Playgroud)

但是,这会产生以下错误:

线程"main"中的异常org.openqa.selenium.NoSuchElementException:无法找到id == ctl62_txtSearchLastName的元素(警告:服务器未提供任何堆栈跟踪信息)

我也尝试使用类似失败的名称.由于这是一个javascipt页面,我认为我可能需要等待才能尝试访问该元素.我尝试了一个明确的和隐含的等待,两者都导致了超时.我的下一个想法是,我在错误的框架,但我似乎无法找到另一个框架.我尝试索引,因为我没有名字,但我找不到任何其他帧.页面顶部有这个可能会弄乱selenium:

<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-WMWM93" height="0" width="0"           
style="display: none; visibility: hidden"></iframe></noscript>
Run Code Online (Sandbox Code Playgroud)

可能导致此错误的原因是什么?我如何找到元素?任何帮助将不胜感激/

html javascript java selenium selenium-webdriver

3
推荐指数
1
解决办法
2万
查看次数