我有这样的文件夹结构
App
--App
--app.py
--Docs
--Tests
--test_app.py
Run Code Online (Sandbox Code Playgroud)
在我test_app.py file,我有一行来导入我的应用程序模块.当我在根文件夹上运行py.test时,我得到关于没有名为app的模块的错误.我该如何配置?
我想知道是否可以将R shiny集成到当前网站(PHP或RoR)中.我只想利用R Shiny的强大功能将应用程序嵌入到当前网站中.但据我所知,Shiny需要在自己的服务器而不是Apache上运行.是否可以在不使用iframe的情况下实现无缝集成?
谢谢
我有一个代码来检查红宝石中的零.所以我想要实现的是:例如,如果我打电话get_score_value(nil,(nil-1)).我希望ruby延迟评估nil-1直到达到get_score_value函数,而不是在函数传递之前对其进行评估.换句话说,我想将数学表达式作为参数传递给方法.在ruby中最优雅的方法是什么?非常感谢
def get_score_value(value,value2)
value.nil? ? "NULL" : value2.round(2)
end
Run Code Online (Sandbox Code Playgroud)
更新:
我刚刚意识到这个问题实际上与懒惰和严格评估的主题有关.(以下是来自这个伟大的网站:http: //www.khelll.com/blog/ruby/ruby-and-functional-programming/
严格与懒惰的评价
严格评估始终在调用函数之前完全评估函数参数.延迟评估不会评估函数参数,除非需要评估它们的值.懒惰评估的一个用途是由于避免不必要的计算而导致性能提高.
但是,如下例所示,Ruby使用严格的评估策略:
打印长度([2 + 1,3*2,1/0,5-4])=> ZeroDivisionError:除以0
传递数组的第三个参数包含除零操作,并且当Ruby正在进行严格评估时,上面的代码片段将引发异常.
我在某种程度上难以使用pandas read_table函数将此文件读入python. http://www.ssc.wisc.edu/~bhansen/econometrics/invest.dat
这是我的代码:
pd.read_table(f,skiprows=[0], sep="")
Run Code Online (Sandbox Code Playgroud)
产生错误:
TypeError: ord() expected a character, but string of length 0 found
Run Code Online (Sandbox Code Playgroud) In [127]: x = np.arange(2)
In [128]: np.cov(x,x)
Out[128]:
array([[ 0.5, 0.5],
[ 0.5, 0.5]])
In [129]: x.var()
Out[129]: 0.25
Run Code Online (Sandbox Code Playgroud)
为什么这是行为?我认为协方差矩阵对角元素应该是系列的方差.
start = datetime.datetime(2013, 1, 1)
end = datetime.datetime(2013, 01, 27)
f=web.get_data_yahoo('AAPL',start, end)
f['Adj Close'].to_json(date_format='iso',orient='split')
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了以下结果:
Out[85]: '{"name":"Adj Close","index":["2013-01-02T00:00:00","2013-01-03T00:00:0
0","2013-01-04T00:00:00","2013-01-07T00:00:00","2013-01-08T00:00:00","2013-01-09
T00:00:00","2013-01-10T00:00:00","2013-01-11T00:00:00","2013-01-14T00:00:00","20
13-01-15T00:00:00","2013-01-16T00:00:00","2013-01-17T00:00:00","2013-01-18T00:00
:00","2013-01-22T00:00:00","2013-01-23T00:00:00","2013-01-24T00:00:00","2013-01-
25T00:00:00"],"data":[535.58,528.82,514.09,511.06,512.44,504.43,510.68,507.55,48
9.45,474.01,493.69,490.36,487.75,492.4,501.41,439.46,429.1]}'
Run Code Online (Sandbox Code Playgroud)
我想要的是:
'[{"index":"2013-01-02T00:00:00",value:535.58},{"index":"2013-01-04T00:00:00",value:528.82},...]'
Run Code Online (Sandbox Code Playgroud)
这可能吗?我该怎么回事呢?
有没有办法检索熊猫时间序列的频率?
rng = date_range('1/1/2011', periods=72, freq='H')
ts =pd.Series(np.random.randn(len(rng)), index=rng)
Run Code Online (Sandbox Code Playgroud)
ts.frequency或ts.period不是可用的方法.
谢谢
编辑: 我们可以推断出没有指定频率的时间序列的频率吗?
import pandas.io.data as web
aapl = web.get_data_yahoo("AAPL")
<class 'pandas.tseries.index.DatetimeIndex'>
[2010-01-04 00:00:00, ..., 2013-12-19 00:00:00]
Length: 999, Freq: None, Timezone: None
Run Code Online (Sandbox Code Playgroud)
我们能以某种方式获得aapl的频率吗?我们知道,这是工作日.
> library(PerformanceAnalytics)
> data(managers)
> class(managers)
[1] "xts" "zoo"
> head(managers)
HAM1 HAM2 HAM3 HAM4 HAM5 HAM6 EDHEC LS EQ SP500 TR US 10Y TR US 3m TR
1996-01-31 0.0074 NA 0.0349 0.0222 NA NA NA 0.0340 0.00380 0.00456
1996-02-29 0.0193 NA 0.0351 0.0195 NA NA NA 0.0093 -0.03532 0.00398
1996-03-31 0.0155 NA 0.0258 -0.0098 NA NA NA 0.0096 -0.01057 0.00371
1996-04-30 -0.0091 NA 0.0449 0.0236 NA NA NA 0.0147 -0.01739 0.00428
1996-05-31 0.0076 NA 0.0353 0.0028 NA NA NA …Run Code Online (Sandbox Code Playgroud) 所以我的问题是这个,我有一个查询使用Mysql用户定义的变量,如:
@x:=0 SELECT @X:=@X+1 from some_table这个代码从1-1000返回一列.
但是,如果我通过Python中的mySQLdb发送它,则此查询不起作用.
connection =MySQLdb.Connect(host='xxx',user='xxx',passwd='xxx',db = 'xxx')
cursor = connection.cursor
cursor.execute("""SET @X:=0;SELECT @X:=@X+1 FROM some_table""")
rows = cursor.fetchall()
print rows
Run Code Online (Sandbox Code Playgroud)
它打印一个空元组.
我怎么解决这个问题?
谢谢
有没有办法近似熊猫时间序列的周期性?对于R,xts对象有一个调用的方法periodicity就是为了这个目的.有没有实现的方法呢?
例如,我们可以推断出不指定频率的时间序列的频率吗?
import pandas.io.data as web
aapl = web.get_data_yahoo("AAPL")
<class 'pandas.tseries.index.DatetimeIndex'>
[2010-01-04 00:00:00, ..., 2013-12-19 00:00:00]
Length: 999, Freq: None, Timezone: None
Run Code Online (Sandbox Code Playgroud)
这个系列的频率可以合理地近似为每日.
更新:
我认为显示R的周期性方法实现的源代码可能会有所帮助.
function (x, ...)
{
if (timeBased(x) || !is.xts(x))
x <- try.xts(x, error = "'x' needs to be timeBased or xtsible")
p <- median(diff(.index(x)))
if (is.na(p))
stop("can not calculate periodicity of 1 observation")
units <- "days"
scale <- "yearly"
label <- "year"
if (p < 60) {
units <- "secs"
scale <- …Run Code Online (Sandbox Code Playgroud)