Skip to content

Quick dataframe shift #5609

@halleygithub

Description

@halleygithub

Quick implementation of dataframe shift

def quick_shift(df, N=1): '''Quick implementation of dataframe shift''' shift_value = np.roll(df.values,N,axis=0) shift_value[0:N] = np.NaN return DataFrame(shift_value, index=df.index, columns=df.columns) DataFrame.quick_shift = quick_shift 

Perf benchmark:

df = DataFrame(np.random.rand(10000,500)) %timeit df1 = df.quick_shift(1) 10 loops, best of 3: 55.3 ms per loop %timeit df2 = df.shift(1) 1 loops, best of 3: 238 ms per loop 

Related to #4095

Metadata

Metadata

Assignees

No one assigned

    Labels

    PerformanceMemory or execution speed performanceReshapingConcat, Merge/Join, Stack/Unstack, Explode

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions