dataframe - 在 Julia DataFrame 的堆栈函数中将measure_vars 放在id_vars 之前的原因是什么?

标签 dataframe julia

stack-ing DataFrame时,即将其从宽格式转换为长格式时,通常您指定id_vars - 需要重复的列(索引) ,以及所有其他列(measure_vars,例如观测值)都堆叠在一个长列中。

但在 Julia DataFrames 中,这些参数不是指定为命名关键字,并且在函数调用中 measure_vars 位于 id_vars 之前。

如此放置参数的原因是什么?如何在没有 measure_vars 的情况下指定 id_vars

最佳答案

What is the reason for such placement of arguments?

有以下考虑因素:

  1. 您必须有 measure_vars 才能执行堆叠,而无需 id_vars 也可以执行 stack(默认情况下,如果您省略 id_vars 这些被视为除 measure_vars 之外的所有列);从技术上讲,你可以在没有 measure_vars 的情况下执行 stack (请参阅下面我的评论 - 但我认为它不是很有用)
  2. 向后兼容性(我们不想破坏,很久以前这是最初使用的方法,因为关键字参数很慢,但现在不再是这种情况了)

How do I specify id_vars without measure_vars?

只需编写stack(df, [], id_vars),但这并不是 super 有用的东西。

另一方面,如果您想将 measure_vars 指定为除您希望成为 id_vars 的某些列之外的所有列,则编写:stack(df, Not (id_vars))

关于dataframe - 在 Julia DataFrame 的堆栈函数中将measure_vars 放在id_vars 之前的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63559973/

相关文章:

pandas - 将 netCDF 数据导入 pandas DataFrame

r - 在数据框或向量中查找非数字数据

julia - 是否可以在未评估的上下文中获取 Julia 函数的返回类型?

未找到 Julia 包 Pkg

multidimensional-array - Julia:跨矩阵行广播 `findfirst()`

julia - 如何在 Julia 中绘制复数?

excel - 如何在 Julia 中导出多列 CSV

python - 计算按特定列分组的项目之间的平均时间差

r - 使用 xlsx 包保存 data.frame 时如何避免写入 row.names 列

Python:在 Pandas 中,根据条件从数据帧中的多个列中提取数据,并将其添加到与列匹配的不同数据帧中