我不擅长数据结构,所以这可能是一个非常愚蠢的问题.我正在寻找一种方法来实现队列+映射的混合行为.
我目前正在www.threadingbuildingblocks.org中使用tbb::concurrent_bounded_queue(记录在英特尔开发人员专区)的多线程单一生产者单一消费者流程.队列具有市场数据报价对象,并且流程的生产者方面实际上是高度时间敏感的,因此我需要的是一个键入市场数据标识符的队列,例如USDCAD,EURUSD.价值指向(通过)我收到的此密钥的最新市场数据报价.unique_ptr
所以,让我们说我的队列有5个元素用于5个唯一标识符,突然我们得到队列中第3个位置的标识符的更新市场数据报价,然后我只存储最新的值并丢弃我以前的值.所以,基本上我只是将我的unique_ptr移动到这个密钥的新市场数据报价.
它就像是相似concurrent_bounded_queue<pair<string, unique_ptr<Quote>>>但却被锁定在该对的第一个元素上.
我不确定这是否已经在第三方库中可用(可能是tbb本身),或者如果它是标准数据结构则称它是什么.
我非常感谢对此提供任何帮助或指导.
谢谢.
我们是否应该将 .ipynb_checkpoints 目录提交到 IPython Notebook 的 Git 或 SVN 版本控制中?
我知道您可以使用pandas.DataFrame.between_time从pandas.DatetimeIndex中选择数据.是否有方便的方法在两次之间排除?pandas
例如,要在16:00到17:00之间排除数据,我目前正在执行以下操作.
In [1]: import pandas as pd
import numpy as np
In [2]: df = pd.DataFrame(np.random.randn(24 * 60 + 1, 2), columns=list("AB"), index=pd.date_range(start="20161013 00:00:00", freq="1T", periods=24 * 60 +1))
In [3]: idx = df.index.hour == 16
In [4]: df = df[~idx]
In [5]: df.between_time("16:00", "17:00")
Out[5]:
A B
2016-10-13 17:00:00 -0.745892 1.832912
Run Code Online (Sandbox Code Playgroud)
编辑
我已经能够使用这个:
In[41]:df2 = df.ix[np.setdiff1d(df.index, df.between_time("16:00", "17:00").index)]
In[42]:df2.between_time("15:59", "17:01")
Out[42]:
A B
2016-10-13 15:59:00 1.190678 0.783776
2016-10-13 17:01:00 -0.590931 -1.059962
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
我需要改变使用pandas效用函数绘制的箱线图的颜色.我可以使用color参数更改大多数属性,但无法弄清楚如何更改facecolor框.有人知道怎么做吗?
import pandas as pd
import numpy as np
data = np.random.randn(100, 4)
labels = list("ABCD")
df = pd.DataFrame(data, columns=labels)
props = dict(boxes="DarkGreen", whiskers="DarkOrange", medians="DarkBlue", caps="Gray")
df.plot.box(color=props)
Run Code Online (Sandbox Code Playgroud) python ×3
pandas ×2
boxplot ×1
c++ ×1
concurrency ×1
git ×1
matplotlib ×1
numpy ×1
svn ×1
tbb ×1