DataFrames通过表达式查找满足条件的行(和索引)

时间:2015-02-27 15:01:38

标签: expression dataframe subset julia

给定一个表达式DataFrame,我希望能够使用这个表达式对Dataframe进行子集化。另外我想收到索引向量,告诉我哪些行满足条件。我举了一个例子:

df = DataFrame(x1 = 1:3, x2 = [2, 1, 2],x3 = [22, 21, 20])
ex=:((x3 .< 22) & (x2 .== 2))

df1=df[(df[:x3].<22) & (df[:x2].==2),:]
idx=(df[:x2].==2) & (df[:x3].<22)

是否可以使用Expression ex获取df1和idx? 我认为DataFrames的“with”功能只执行了一次:idx=with(df,ex)现在有https://github.com/JuliaStats/DataFramesMeta.jl,但我找不到合适的功能。

由于

1 个答案:

答案 0 :(得分:0)

which()函数可以帮助获取满足条件的数据帧行索引

示例:sel_ids&lt; - which(x1&gt; 2 | x2&lt; 4) filtered_df&lt; -df [sel_ids,]