如何对 Julia Dataframe 应用转换?

How do you apply a shift to a Julia Dataframe?

在 python pandas 中,shift 函数可用于将数据帧中的行向前移动并可能相对于原始行移动,从而允许计算时间序列数据的变化。 Julia 中的等效方法是什么?

通常会使用 ShiftedArrays.jl 并将其应用于需要移位的列。

这是一个小的工作示例:

using DataFrames, ShiftedArrays

df = DataFrame(a=1:3, b=4:6)
3×2 DataFrame
 Row │ a      b     
     │ Int64  Int64 
─────┼──────────────
   1 │     1      4
   2 │     2      5
   3 │     3      6

transform(df, :a => lag => :lag_a)
3×3 DataFrame
 Row │ a      b      lag_a   
     │ Int64  Int64  Int64?  
─────┼───────────────────────
   1 │     1      4  missing 
   2 │     2      5        1
   3 │     3      6        2

或者你可以这样做:

df.c = lag(df.a)

或者,要领先两行:

df.c = lead(df.a, 2)

等等