小编kal*_*alu的帖子

使用外部应用函数将两个矩阵的列作为感兴趣的元素

考虑矩阵drwith dim(d) = J x Ddim(r) = J x R.让fun(a,b)成为一个函数,它接受两个相同长度的向量并返回一些数字.
我想把列的d和列r分别作为我感兴趣的单位,并适用outer于它们.

下面的代码创建的列的列表来完成这个dr,然后同时使用outersapply:

d.cols <- split(d, col(d))
r.cols <- split(r, col(r))
outer(d.cols, r.cols,
      function(x,y) {
           sapply(seq_along(x),
                 function(i) {
                     Fun(x[[i]], y[[i]]) })} )
Run Code Online (Sandbox Code Playgroud)

代码做我想要的并且相对有效,但是笨拙且不清楚.有没有更好的方法来实现我想要达到的目标?

r

6
推荐指数
1
解决办法
6357
查看次数

replace()vs"[< - "?

我最近偶然发现了replace()"[<-".它们似乎具有类似的功能,例如"[<-"我可以做这样的事情:

        > x.tst <- array(1:6, c(2,3))
        > s.tst <- array(0, c(2,3))
        > s.tst
             [,1] [,2] [,3]
        [1,]    0    0    0
        [2,]    0    0    0
        > s.tst[1:3] <- 1
        > "[<-"(x.tst, s.tst==1, 0)
             [,1] [,2] [,3]
        [1,]    0    0    5
        [2,]    0    4    6
        > x.tst
             [,1] [,2] [,3]
        [1,]    1    3    5
        [2,]    2    4    6
Run Code Online (Sandbox Code Playgroud)

有人可以帮助澄清差异吗?replacevs 的优势是什么"[<-",反之亦然?

r variable-assignment

4
推荐指数
1
解决办法
168
查看次数

groupby,apply和set不按预期行事......这是一个错误吗?

要查看此问题,请考虑以下数据框

In [66]: dat = pandas.DataFrame(['a','b','c','d','e','f','g','h'],
                        columns=['letters'])

In [67]: dat['numbers'] = pandas.Series([1,2,3,4,5,6,7,8])

In [68]: dat['names'] = pandas.Series(['jim','jan','jerry','george'
                        ,'mary','mary','sue','sue'])

In [69]: dat
Out[69]:
  letters  numbers   names
0       a        1     jim
1       b        2     jan
2       c        3   jerry
3       d        4  george
4       e        5    mary
5       f        6    mary
6       g        7     sue
7       h        8     sue
Run Code Online (Sandbox Code Playgroud)

按名称分组

In [78]: dat = dat.groupby(['names'])[['letters']]
Run Code Online (Sandbox Code Playgroud)

现在我尝试连续写字会产生一个有趣的结果:

In [80]: dat.apply(lambda x: '|'.join(set(x)))
Out[80]:
names
george    letters|numbers|names
jan       letters|numbers|names
jerry     letters|numbers|names
jim       letters|numbers|names
mary …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

4
推荐指数
1
解决办法
68
查看次数

标签 统计

r ×2

numpy ×1

pandas ×1

python ×1

variable-assignment ×1