Skip to content

Instantly share code, notes, and snippets.

@Coldsp33d
Created December 21, 2020 10:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Coldsp33d/8e7902ad8830e935b81f40d1b9976b02 to your computer and use it in GitHub Desktop.
Save Coldsp33d/8e7902ad8830e935b81f40d1b9976b02 to your computer and use it in GitHub Desktop.
import pandas as pd
import numpy as np
import perfplot
def slice(df):
return df[::-1]
def slice_loc(df):
return df.loc[::-1]
def reindex(df):
return df.reindex(index=df.index[::-1])
def sort_index(df):
return df.sort_index(ascending=False)
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['x', 'y', 'z']})
df[['C', 'D']] = df[::-1].to_numpy() # for some variety
kernels = [slice, slice_loc, reindex, sort_index]
perfplot.show(
setup=lambda n: pd.concat([df] * n, ignore_index=True),
kernels=kernels,
labels=[str(k.__name__) for k in kernels],
n_range=[2**k for k in range(16)],
xlabel='N',
logx=True,
logy=True,
equality_check=lambda df1, df2: df1.equals(df2))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment