这是我目前的版本data.table:
Package LibPath Version Priority Depends
1: data.table /Library/Frameworks/R.framework/Versions/3.1/Resources/library 1.9.2 NA R (>= 2.14.0)
Imports LinkingTo
1: methods, reshape2 NA
Suggests Enhances License
1: chron, ggplot2 (>= 0.9.0), plyr, reshape, testthat (>= 0.4),\nhexbin, fastmatch, nlme, xts, bit64 NA GPL (>= 2)
License_is_FOSS License_restricts_use OS_type MD5sum NeedsCompilation Built Status
1: NA NA NA NA yes 3.1.0 ok
Run Code Online (Sandbox Code Playgroud)
正如你所看到的1.9.2,尽管http://cran.us.r-project.org列为1.9.4最新版本.我尝试了以下更新它,但效果不大:
update.packages()
update.packages(repos='http://cran.us.r-project.org')
update.packages(old.packages='data.table', repos='http://cran.us.r-project.org')
Run Code Online (Sandbox Code Playgroud)
sessionInfo() 仍然给了我
other attached packages:
[1] foreign_0.8-61 data.table_1.9.2 ggplot2_1.0.0
Run Code Online (Sandbox Code Playgroud)
我在Mac OS …
我想改变2d矩阵的对角元素.这些都是主要和非主要对角线.
numpy.diagonal() 在NumPy 1.10中,它将返回一个读/写视图,写入返回的数组将改变您的原始数组.
numpy.fill_diagonal(),numpy.diag_indices() 仅适用于主对角元素
这是我的用例:我想重新创建以下形式的矩阵,使用对角表示法非常简单,因为我将x,y,z作为数组.

我有一个带有日期时间索引的数据框,我想将某些列乘以该月的天数。
TUFNWGTP TELFS t070101 t070102 t070103 t070104
TUDIARYDATE
2003-01-03 8155462.672158 2 0 0 0 0
2003-01-04 1735322.527819 1 0 0 0 0
2003-01-04 3830527.482672 2 60 0 0 0
2003-01-02 6622022.995205 4 0 0 0 0
2003-01-09 3068387.344956 1 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
在这里,我想乘以t31 开始的所有列。也就是说,预期输出为
TUFNWGTP TELFS t070101 t070102 t070103 t070104
TUDIARYDATE
2003-01-03 8155462.672158 2 0 0 0 0
2003-01-04 1735322.527819 1 0 0 0 0
2003-01-04 3830527.482672 2 1680 0 0 0
2003-01-02 6622022.995205 4 0 0 …Run Code Online (Sandbox Code Playgroud) 关于matplotlib/Python和latex的集成问了几个问题,但是我找不到以下内容:
当我savefig()在乳胶中包含创建的 pdf 文件时,我总是
includegraphics[scale=0.5]{myFile.pdf}
Run Code Online (Sandbox Code Playgroud)
并且比例通常在0.4或左右0.5。鉴于我正在创建 A5 投影仪幻灯片,生成正确大小的 pdf 文件的正确方法是什么,这样我就不需要在乳胶中指定它?
请注意,这些不是全尺寸的仅图像投影仪幻灯片,它需要稍微小一些以允许页眉、页脚和标题。
列的虚拟列c和给定值x等于1if c==x和0 else.通常,通过为列创建虚拟对象c,可以x在选择时排除一个值,因为最后一个虚拟列不会添加任何已存在的虚拟列的信息.
这是我如何尝试为列创建一个很长的虚拟列表firm,在data.table:
values <- unique(myDataTable$firm)
cols <- paste('d',as.character(inds[-1]), sep='_') # gives us nice d_value names for columns
# the [-1]: I arbitrarily do not create a dummy for the first unique value
myDataTable[, (cols):=lapply(values[-1],function(x)firm==x)]
Run Code Online (Sandbox Code Playgroud)
此代码可靠地用于以前的列,这些列具有较小的唯一值.firm但是更大:
tr(values)
num [1:3082] 51560090 51570615 51603870 51604677 51606085 ...
Run Code Online (Sandbox Code Playgroud)
我在尝试添加列时收到警告:
Warning message:
truelength (6198) is greater than 1000 items over-allocated (length = 36). See ?truelength. If …Run Code Online (Sandbox Code Playgroud) 我需要 scipy 中的 Meijer G 函数。我在网上读到,由于Meier G函数的通用性,scipy中不支持作为特殊函数,但每个人都应该根据自己的个人用例编写一些东西。
\n\n我的问题是我没有任何复杂集成的经验。由于 LaTeX 在这里被禁止,这就是我试图用数值方法解决的问题:
\n\n
(第一行是一般情况,第二行是我正在尝试计算的情况),给定 p(a), k, k2
\n\n正如维基百科所述,可以通过三种方式获取L:
我正在使用Mathematica结果再现Sympy,而且我是后者的新手,所以我可能做错了.然而,我注意到一些使用Mathematica花了一分钟时间的东西只是花了很长时间(阅读:我在一小时前开始它之后没有完成)同情.这既适用于Simplify(),也适用于solve().我做错了什么,或者情况确实如此?
我会附上我的solve()案子:
import sympy as sp
from sympy import init_printing
init_printing()
p, r, c, p, y, Lambda = sp.symbols('p r c p y Lambda')
F = sp.Symbol('F')
eta1 = lambda p: 1/(1-sp.exp(-Lambda) * sp.exp(-Lambda)*(sp.exp(Lambda) - 1 - Lambda))
eta2 = lambda p: 1/(1-sp.exp(-Lambda)) * sp.exp(-Lambda)/(1-F) * (sp.exp(Lambda*(1- F)) - 1 - Lambda*(1-F))
eta = lambda p: 1 - eta1(p) + eta2(p)
etaOfR = sp.limit(eta(p), F, 1)
S = lambda p: eta(p)*y/p*(p-c)
SOfR …Run Code Online (Sandbox Code Playgroud) 当我尝试查询数据框对象时,会发生以下情况:
df2.query('a==1')
.conda/envs/myenv2/lib/python2.7/site-packages/pandas/computation/align.pyc in _align_core(terms)
96 reindexer_size = len(reindexer)
97
---> 98 ordm = np.log10(abs(reindexer_size - term_axis_size))
99 if ordm >= 1 and reindexer_size >= 10000:
100 warnings.warn('Alignment difference on axis {0} is larger '
FloatingPointError: divide by zero encountered in log10
Run Code Online (Sandbox Code Playgroud)
这是我的数据框的外观:
In [16]: df2.head()
Out[16]:
S t S t S-elas t-elas
y 0.9 0.9 1.0 1.0
T a k c
1 0.1 0.2 0.4 NaN NaN 49.9547 0.935831 NaN NaN
0.5 48.4641 0.91747 51.6021 0.893594 -0.595826 0.250475
0.3 …Run Code Online (Sandbox Code Playgroud) 我正在进行主成分分析,并得到以下类型的组件结果:
In [140]: components.head()
Out[140]:
V52 V134 V195 V205 V82 V189 V10 \
0 0.070309 0.043759 -0.102138 0.442536 -0.010881 0.041344 -0.001451
1 0.004664 0.313388 -0.140883 0.015051 0.023085 0.055634 0.065873
2 0.028201 -0.116513 -0.135300 -0.092226 -0.009306 0.065079 -0.030595
3 0.018049 -0.136013 0.073010 -0.076940 0.013245 -0.010582 0.065641
V47 V177 V184 ... V208 V5 V133 \
0 0.066203 0.016056 0.105487 ... -0.144894 -0.009810 0.117964
1 -0.009324 0.008935 -0.044760 ... -0.014553 -0.014208 0.200632
2 0.013799 0.169503 -0.010660 ... -0.079821 -0.053905 0.080867
3 -0.023983 0.111241 …Run Code Online (Sandbox Code Playgroud) 我在并行化 groupby 上发现了这个问题。但是,它不能一对一地转换为有多个参数的情况 - 除非我弄错了。
以下是正确的做法吗?有没有更好的办法?(尤其是获取索引似乎效率很低)。
def applyParallel(dfGrouped, func, *args):
with Pool(cpu_count() - 2) as p:
ret_list = p.starmap(func, zip([group for name, group in dfGrouped], repeat(*args)))
index = [name for name, group in dfGrouped]
return pd.Series(index=index, data=ret_list)
Run Code Online (Sandbox Code Playgroud)
哪一个会调用 using applyParallel(df.groupby(foo), someFunc, someArgs).