我正在尝试按组计算DataFrame中的行数。下面的代码生成一个名为x1的新列,该列包含预期的信息:
by(df, [:grouping_var_1, :grouping_var_2], nrow) 但是,我不知道如何以定义x1以外的名称的方式生成这样的列。到目前为止,我找到的解决办法是:
@pipe df |> by(_, [:grouping_var_1, :grouping_var_2], nrow) |> rename(_, :x1 => :my_desired_name);无论如何,我可以直接做到这一点,而不必使用重命名吗?
提前谢谢。
发布于 2020-08-09 19:56:18
请将DataFrames.jl更新为0.21版本。
然后使用:
combine(groupby(df, [:grouping_var_1, :grouping_var_2]], nrow => :my_desired_name)两项评论:
不推荐使用
by,建议您不要使用它(您可以看到警告,如果您用--depwarn=true)source_columns => function => target_column_name,您可以使用简写的source_columns => function,在这种情况下,目标列的名称是自动生成的。一个特例是nrow (没有任何东西)和nrow => target_column_name,对于nrow,为了方便,您不必传递源列。
https://stackoverflow.com/questions/63330210
复制相似问题