通过满足条件的列值聚合数据帧

时间:2018-07-12 00:10:52

标签: julia aggregate

假设我在Julia中有以下名为A的DataFrame: │ Row │ x1 │ x2 │ ├──────┼─────┼─────────┤ │ 1 │ 1.0 │ 5.78341 │ │ 2 │ 2.0 │ 5.05401 │ │ 3 │ 3.0 │ 4.79754 │ │ 4 │ 4.0 │ 4.4126 │ │ 5 │ 5.0 │ 4.29433 │ │ 6 │ 6.0 │ 4.14306 │ │ 7 │ 1.0 │ 5.94811 │ │ 8 │ 2.0 │ 5.0432 │ │ 9 │ 3.0 │ 4.78697 │ │ 10 │ 4.0 │ 4.40384 │ │ 11 │ 5.0 │ 4.29901 │ ? │ 3933 │ 2.0 │ 4.90528 │ │ 3934 │ 3.0 │ 4.57429 │ │ 3935 │ 4.0 │ 4.3988 │ │ 3936 │ 5.0 │ 4.19076 │ │ 3937 │ 6.0 │ 4.09517 │ │ 3938 │ 7.0 │ 3.96192 │ │ 3939 │ 1.0 │ 5.88878 │ │ 3940 │ 2.0 │ 5.87492 │ │ 3941 │ 3.0 │ 4.9453 │ │ 3942 │ 4.0 │ 4.39047 │ │ 3943 │ 5.0 │ 4.28096 │ │ 3944 │ 6.0 │ 4.13686 │

例如,仅当x1值的重复次数小于或等于500时,我才想通过x1值计算x2值的平均值。我尝试了以下代码,但是没有用:

aggregate(A,length(:x1).<=500,mean)

例如,如果仅值1,2和3满足条件,则结果应为: │ Row │ x1 │ x2 │ ├──────┼─────┼─────────┤ │ 1 │ 1.0 │ 5.85264 │ │ 2 │ 2.0 │ 5.15852 │ │ 3 │ 3.0 │ 4.92586 │

其中x2值是相应的平均值。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我将在这里使用DataFramesMeta.jl,因为它比仅使用DataFrames.jl的功能更干净(我提供了两种方法来获得所需的结果作为示例):

sn -i xx.pfx VS_KEY_xxx