我想DateTimeIndex基于开始和结束时间戳(以纪元以来的微秒给出)创建一个1分钟的间隔pd_date_range().为此,我需要将开始时间戳向上和结束时间戳向下舍入.这是我到目前为止:
import pandas as pd
start = 1406507532491431
end = 1406535228420914
start_ts = pd.to_datetime(start, unit='us') # Timestamp('2014-07-28 00:32:12.491431')
end_ts = pd.to_datetime(end, unit='us') # Timestamp('2014-07-28 08:13:48.420914')
Run Code Online (Sandbox Code Playgroud)
我想要回合:
start_ts去Timestamp('2014-07-28 00:32')和
end_ts到Timestamp('2014-07-28 08:14').
我怎样才能做到这一点?
我想用集群Sklearn的Minibatch K均值图像的补丁重现的结果本文.以下是我的数据集的一些信息:
我可以获得一些关于如何设置Minibatch KMeans参数的指导吗?目前,惯性开始收敛,但随后它再次突然上升,然后算法终止:
Minibatch iteration 48/1300:mean batch inertia: 22.392906, ewa inertia: 22.500929
Minibatch iteration 49/1300:mean batch inertia: 22.552454, ewa inertia: 22.509173
Minibatch iteration 50/1300:mean batch inertia: 22.582834, ewa inertia: 22.520959
Minibatch iteration 51/1300:mean batch inertia: 22.448639, ewa inertia: 22.509388
Minibatch iteration 52/1300:mean batch inertia: 22.576970, ewa inertia: 22.520201
Minibatch iteration 53/1300:mean batch inertia: 22.489388, ewa inertia: 22.515271
Minibatch iteration 54/1300:mean batch inertia: 22.465019, ewa inertia: 22.507231
Minibatch iteration 55/1300:mean batch inertia: 22.434557, ewa inertia: …Run Code Online (Sandbox Code Playgroud) 我有
import arrow
s = '2015/12/1 19:00:00'
tz = 'Asia/Hong_Kong'
Run Code Online (Sandbox Code Playgroud)
如何用Arrow解析这个问题,以便获得带有时区的Arrow对象tz?以下默认为UTC时间.
In [30]: arrow.get(s, 'YYYY/M/D HH:mm:ss')
Out[30]: <Arrow [2015-12-01T19:00:00+00:00]>
Run Code Online (Sandbox Code Playgroud)
我知道该.to功能,但转换时区,但不允许我更改为时区.
我想计算一组指数的滚动20天实现波动率.这是我用来下载指数价格,计算每日回报和20天实现波动率的代码.
library(quantmod)
library(PerformanceAnalytics)
tickers = c("^RUT","^STOXX50E","^HSI", "^N225", "^KS11")
myEnv <- new.env()
getSymbols(tickers, src='yahoo', from = "2003-01-01", env = myEnv)
index <- do.call(merge, c(eapply(myEnv, Ad), all=FALSE))
#Calculate daily returns for all indices and convert to arithmetic returns
index.ret <- exp(CalculateReturns(index,method="compound")) - 1
index.ret[1,] <- 0
#Calculate realized volatility
realizedvol <- rollapply(index.ret, width = 20, FUN=sd.annualized)
Run Code Online (Sandbox Code Playgroud)
一切都很快,直到最后一行.我还没有计时,但是它的分数是几分钟,而我希望它只需几秒钟.有没有更快的方法来计算实现的波动率?
谢谢.
我可能在这里犯了一个非常简单(和愚蠢)的错误,但我无法弄明白.我正在玩Kaggle(数字识别器)的一些数据,并尝试使用带有Caret包的SVM进行分类.如果我只是将标签值作为数字类型train插入函数中,Caret中的函数似乎默认为回归并且性能很差.所以我接下来尝试将其转换为函数的因子factor()并尝试运行SVM分类.下面是一些代码,我生成一些虚拟数据,然后将其插入Caret:
library(caret)
library(doMC)
registerDoMC(cores = 4)
ytrain <- factor(sample(0:9, 1000, replace=TRUE))
xtrain <- matrix(runif(252 * 1000,0 , 255), 1000, 252)
preProcValues <- preProcess(xtrain, method = c("center", "scale"))
transformerdxtrain <- predict(preProcValues, xtrain)
fitControl <- trainControl(method = "repeatedcv", number = 10, repeats = 10)
svmFit <- train(transformerdxtrain[1:10,], ytrain[1:10], method = "svmradial")
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Error in kernelMult(kernelf(object), newdata, xmatrix(object)[[p]], coef(object)[[p]]) :
dims [product 20] do not match the length of object [0]
In addition: Warning messages:
1: In …Run Code Online (Sandbox Code Playgroud) 从ceil的NumPy 文档中 ,该numpy.ceil函数有两个参数,第二个是out.文档没有说明这个out参数是做什么的,但我假设你可以设置这个函数返回的输出类型,但是我无法让它工作:
In [107]: np.ceil(5.5, 'int')
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-107-c05bcf9f1522> in <module>()
----> 1 np.ceil(5.5, 'int')
TypeError: return arrays must be of ArrayType
In [108]: np.ceil(5.5, 'int64')
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-108-0937d09b0433> in <module>()
----> 1 np.ceil(5.5, 'int64')
TypeError: return arrays must be of ArrayType
Run Code Online (Sandbox Code Playgroud)
是否可以使用此参数使np.ceil返回为整数?
谢谢.
我试图从Google Refine的列中提取一系列数字.这是我的代码:
value.match(/[\d]+/)[0]
Run Code Online (Sandbox Code Playgroud)
我的专栏中的数据格式为
abcababcabc 1234566 abcabcbacdf
Run Code Online (Sandbox Code Playgroud)
结果为"null".我不知道为什么!!如果不是\d我尝试,它也是null \w.
我正在完成一些scipy讲座(http://scipy-lectures.github.io/intro/language/standard_library.html#pickle-easy-persistence),我发现了关于Pickle的这个声明:
Useful to store arbitrary objects to a file. Not safe or fast!
Run Code Online (Sandbox Code Playgroud)
这是什么意思?不安全(根据Pickle文档),因为不是来自未知来源的UnPickle文件或不安全,因为你不总是检索原始对象?
对更安全,更快速的东西有什么选择?我知道cPickle更快,但我不认为它解决了上面更安全的定义.
谢谢.
我有两个大的稀疏矩阵:
In [3]: trainX
Out[3]:
<6034195x755258 sparse matrix of type '<type 'numpy.float64'>'
with 286674296 stored elements in Compressed Sparse Row format>
In [4]: testX
Out[4]:
<2013337x755258 sparse matrix of type '<type 'numpy.float64'>'
with 95423596 stored elements in Compressed Sparse Row format>
Run Code Online (Sandbox Code Playgroud)
加载总共大约5 GB RAM.请注意,这些矩阵非常稀疏(占用0.0062%).
对于每一行testX,我想找到的最近邻trainX,返回其相应的标签,在发现trainY. trainY是一个长度相同的列表,trainX并且有许多类.(一个类由1-5个单独的标签组成,每个标签是20,000个中的一个,但是类的数量与我现在要做的事情无关.)
我正在使用sklearnKNN算法来做到这一点:
from sklearn import neighbors
clf = neighbors.KNeighborsClassifier(n_neighbors=1)
clf.fit(trainX, trainY)
clf.predict(testX[0])
Run Code Online (Sandbox Code Playgroud)
甚至预测1项testX需要一段时间(即30-60秒之类的东西,但如果你乘以200万,那就变得非常不可能了).我的笔记本电脑有16GB的RAM开始交换一下,但确实设法完成了1项testX.
我的问题是,我怎么能这样做才能在合理的时间内完成?在大型EC2实例上说一晚?只是拥有更多的内存并防止交换速度足够快(我的猜测是否定的).也许我可以以某种方式利用稀疏性来加速计算?
谢谢.
我有一个列表字典:
In [72]: params
Out[72]: {'a': [1, 2, 3], 'b': [5, 6, 7, 8]}
Run Code Online (Sandbox Code Playgroud)
我可能有两个以上的键/值对.我想创建一个字典列表,它给出了对应于a和的列表的所有可能组合b:
例如
[{'a':1, 'b'=5},
{'a':1, 'b'=6},
{'a':1, 'b'=7},
...
{'a':3, 'b'=8},]
Run Code Online (Sandbox Code Playgroud)
我可以通过硬编码键来做到这一点:
for a,b in itertools.product(*p.itervalues()):
print {'a':a, 'b':b}
Run Code Online (Sandbox Code Playgroud)
但我不想硬编码
python ×7
r ×2
scikit-learn ×2
arrow-python ×1
datetime ×1
dictionary ×1
k-means ×1
kernlab ×1
numpy ×1
openrefine ×1
pandas ×1
pickle ×1
regex ×1
svm ×1
timezone ×1
xts ×1