标签: subset

子集一个2D numpy数组

我在这里查看了文档和其他问题,但似乎我还没有掌握numpy数组中的子集.

我有一个numpy数组,为了参数,让它定义如下:

import numpy as np
a = np.arange(100)
a.shape = (10,10)
# array([[ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9],
#        [10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
#        [20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
#        [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
#        [40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
#        [50, 51, 52, 53, 54, 55, 56, 57, 58, 59],
# …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy subset multidimensional-array

23
推荐指数
3
解决办法
3万
查看次数

如何检查ArrayList的元素是否都包含在另一个ArrayList中

如何轻松检查一个ArrayList中的所有元素是否都是另一个ArrayList的元素?

java arraylist subset containment

22
推荐指数
1
解决办法
1万
查看次数

如何定义S4类的子集运算符?

我无法找出正确的方式来定义的[,$[[子集运营商的S4类.

任何人都可以为我提供一个为S4类定义这三个的基本示例吗?

oop r subset s4

22
推荐指数
2
解决办法
6560
查看次数

按日期子集数据

我有一个名为的数据集EPL2011_12.我想通过按日期对原始进行子集来制作新的数据集.日期位于名为Date "日期为DD-MM-YY"格式的列中.

我试过了

EPL2011_12FirstHalf <- subset(EPL2011_12, Date > 13-01-12)
Run Code Online (Sandbox Code Playgroud)

EPL2011_12FirstHalf <- subset(EPL2011_12, Date > "13-01-12")
Run Code Online (Sandbox Code Playgroud)

但每次都会收到此错误消息.

Warning message:
In Ops.factor(Date, 13- 1 - 12) : > not meaningful for factors
Run Code Online (Sandbox Code Playgroud)

我想这意味着R正在处理文本而不是数字,为什么它不起作用?

r date subset

22
推荐指数
2
解决办法
9万
查看次数

R gotcha:用于组合条件的逻辑和运算符是&not &&

为什么不subset()兼容&&两个条件的逻辑和运算符?

> subset(tt, (customer_id==177 && visit_date=="2010-08-26"))
<0 rows> (or 0-length row.names)
Run Code Online (Sandbox Code Playgroud)

但它们各自独立工作:

> subset(tt, customer_id==177)

> subset(tt, visit_date=="2010-08-26")
Run Code Online (Sandbox Code Playgroud)

(想避免使用大型临时变量 - 我的数据集很大)

r subset logical-operators

21
推荐指数
2
解决办法
2万
查看次数

使用与列同名的变量对data.table进行子集化

我想data.table使用一个变量来子集a ,该变量与导致某些问题的列具有相同的名称:

dt <- data.table(a=sample(c('a', 'b', 'c'), 20, replace=TRUE),
                 b=sample(c('a', 'b', 'c'), 20, replace=TRUE),
                 c=sample(20), key=c('a', 'b'))

evn <- environment()
a <- 'b'
dt[a == a]

#Expected Result
dt[a == 'b']
Run Code Online (Sandbox Code Playgroud)

我遇到了这个可能的解决方案:

env <- environment()
dt[a == get('a',env)]
Run Code Online (Sandbox Code Playgroud)

但它是如此不利:

this.a = a
dt[a == this.a]
Run Code Online (Sandbox Code Playgroud)

还有另一个优雅的解决方案吗?

r subset data.table

21
推荐指数
2
解决办法
1655
查看次数

R基于多个列值将数据帧子集化为多个数据帧

我正在尝试对数据帧进行子集化,其中我基于多个列值获得多个数据帧.这是我的例子

>df
  v1   v2   v3   v4   v5
   A    Z    1    10   12
   D    Y    10   12    8
   E    X    2    12   15
   A    Z    1    10   12
   E    X    2    14   16
Run Code Online (Sandbox Code Playgroud)

预期的输出是这样的,我将这个数据帧拆分为基于列v1和的多个数据帧v2

>df1
 v3   v4   v5
  1   10   12
  1   10   12
>df2
 v3   v4   v5
 10   12    8
>df3
 v3   v4   v5
 2    12   15
 2    14   16
Run Code Online (Sandbox Code Playgroud)

我已经编写了一个现在正在运行的代码,但不认为这是最好的方法.必须有更好的方法来做到这一点.假设tabdata.frame具有初始数据.这是我的代码:

v1Factors<-levels(factor(tab$v1))
v2Factors<-levels(factor(tab$v2))

for(i in 1:length(v1Factors)){
  for(j in 1:length(v2Factors)){
    subsetTab<-subset(tab, v1==v1Factors[i] & v2==v2Factors[j], select=c("v3", "v4", …
Run Code Online (Sandbox Code Playgroud)

r subset multiple-columns dataframe

20
推荐指数
2
解决办法
2万
查看次数

按行号和列号子集文件

我们希望在行和列上对文本文件进行子集化,其中从文件中读取行和列编号.排除标题(第1行)和rownames(第1列).

inputFile.txt制表符分隔的文本文件

header  62  9   3   54  6   1
25  1   2   3   4   5   6
96  1   1   1   1   0   1
72  3   3   3   3   3   3
18  0   1   0   1   1   0
82  1   0   0   0   0   1
77  1   0   1   0   1   1
15  7   7   7   7   7   7
82  0   0   1   1   1   0
37  0   1   0   0   1   0
18  0   1   0   0   1   0 …
Run Code Online (Sandbox Code Playgroud)

bash awk cut bioinformatics subset

20
推荐指数
2
解决办法
1295
查看次数

如何从java中的一组大小n迭代生成k个元素子集?

我正在研究一个难题,包括分析所有大小的k子集并找出哪一个是最优的.我写了一个解决方案,当子集的数量很少时可以工作,但是对于更大的问题,它会耗尽内存.现在我正在尝试将用python编写的迭代函数转换为java,以便我可以在创建时分析每个子集,只获得表示它是如何优化的值,而不是整个集合,这样我就不会用完记忆.到目前为止,这是我所拥有的,即使是非常小的问题,它似乎也没有完成:

public static LinkedList<LinkedList<Integer>> getSets(int k, LinkedList<Integer> set)
{
    int N = set.size();
    int maxsets = nCr(N, k);
    LinkedList<LinkedList<Integer>> toRet = new LinkedList<LinkedList<Integer>>();

    int remains, thresh;
    LinkedList<Integer> newset; 
    for (int i=0; i<maxsets; i++)
    {
        remains = k;
        newset = new LinkedList<Integer>();
        for (int val=1; val<=N; val++)
        {
            if (remains==0)
                break;
            thresh = nCr(N-val, remains-1);
            if (i < thresh)
            {
                newset.add(set.get(val-1));
                remains --;
            }
            else 
            {
                i -= thresh;
            }
        }
        toRet.add(newset);
    }

    return toRet;

}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我调试这个函数或建议另一个迭代生成大小k子集的算法吗?

编辑:我终于使这个功能工作,我不得不创建一个新的变量,与我做的相同,我和thresh比较,因为python处理循环索引不同.

java subset

19
推荐指数
2
解决办法
2万
查看次数

按多个因子级别子集数据帧

如何避免使用循环根据多个因子级别对数据帧进行子集化?

在以下示例中,我想要的输出是数据帧.数据框应包含原始数据帧的行,其中"Code"中的值等于"selected"中的值之一.

工作范例:

#sample data
Code<-c("A","B","C","D","C","D","A","A")
Value<-c(1, 2, 3, 4, 1, 2, 3, 4)
data<-data.frame(cbind(Code, Value))

selected<-c("A","B") #want rows that contain A and B

#Begin subsetting
result<-data[which(data$Code==selected[1]),]
s1<-2
while(s1<length(selected)+1)
{
  result<-rbind(result,data[which(data$Code==selected[s1]),])
  s1<-s1+1
}
Run Code Online (Sandbox Code Playgroud)

这是一个更大的数据集的玩具示例,因此"选中"可能包含大量元素,而数据包含大量行.因此我想避免循环.

r subset

19
推荐指数
2
解决办法
8万
查看次数