DataFrame
Types
linear type DataFramePair
Functions
def read_csv (path : String) (expected_rows : Int | expected_rows ≥ 0) (expected_cols : Int | expected_cols ≥ 1) : {df : DataFrame | df_nrows df = expected_rows && df_ncols df = expected_cols}
def to_csv (1 df : DataFrame) (path : String) : Unit
def copy (1 df : DataFrame) : {pr : DataFramePair | pair_nrows pr = df_nrows df && pair_ncols pr = df_ncols df}
def fst_df (1 pr : DataFramePair) : {df : DataFrame | df_nrows df = pair_nrows pr && df_ncols df = pair_ncols pr}
def snd_df (1 pr : DataFramePair) : {df : DataFrame | df_nrows df = pair_nrows pr && df_ncols df = pair_ncols pr}
def with_col (1 df : DataFrame) (name : String) : {w : DataFrameCol | wc_nrows w = df_nrows df && wc_ncols w = df_ncols df}
def wc_frame (1 w : DataFrameCol) : {df : DataFrame | df_nrows df = wc_nrows w && df_ncols df = wc_ncols w}
def wc_array (1 w : DataFrameCol) : {col : (Array Float) | size col = wc_nrows w}
def nrows (borrow df : DataFrame) : {n : Int | n = df_nrows df}
def ncols (borrow df : DataFrame) : {n : Int | n = df_ncols df}
def columns (borrow df : DataFrame) : (Array String)
def has_col (borrow df : DataFrame) (name : String) : Bool
def head (1 df : DataFrame) (n : Int | n ≥ 0) : {r : DataFrame | df_ncols r = df_ncols df}
def select (1 df : DataFrame) (1 cols : (Array String)) : DataFrame
def drop (1 df : DataFrame) (1 cols : (Array String)) : DataFrame
def rename (1 df : DataFrame) (old : String) (new : String) : {r : DataFrame | df_nrows r = df_nrows df && df_ncols r = df_ncols df}
def filter_rows (1 df : DataFrame) (column : String) (pred : (x : Float) → Bool) : {r : DataFrame | df_ncols r = df_ncols df && df_nrows r ≤ df_nrows df}
def dropna (1 df : DataFrame) : {r : DataFrame | df_ncols r = df_ncols df}
def fillna (1 df : DataFrame) (value : Float) : {r : DataFrame | df_nrows r = df_nrows df && df_ncols r = df_ncols df}
def sort_values (1 df : DataFrame) (column : String) (ascending : Bool) : {r : DataFrame | df_nrows r = df_nrows df && df_ncols r = df_ncols df}
def concat (1 left : DataFrame) (1 right : DataFrame | df_ncols right = df_ncols left) : {out : DataFrame | df_ncols out = df_ncols left}
def join (1 left : DataFrame) (1 right : DataFrame) (on : String) (how : String) : DataFrame
def groupby_agg (1 df : DataFrame) (by : String) (column : String) (how : String) : DataFrame
def assign_const (1 df : DataFrame) (name : String) (value : Float) : {r : DataFrame | df_nrows r = df_nrows df}
def col_as_array (borrow df : DataFrame) (name : String) : {col : (Array Float) | size col = df_nrows df}
def set_col (1 df : DataFrame) (name : String) (1 col : (Array Float)) : {r : DataFrame | df_nrows r = size col}
def map_col (1 df : DataFrame) (name : String) (f : (1 col : (Array Float)) → (Array Float)) : DataFrame
def dispose (1 df : DataFrame) : Unit
def with_pair (1 token : DataFramePair) (
1 consume : (1 left : DataFrame | df_nrows left = pair_nrows token && df_ncols left = pair_ncols token) →
(1 right : DataFrame | df_nrows right = pair_nrows token && df_ncols right = pair_ncols token) → b
) : b
def with_column (1 token : DataFrameCol) (
1 consume : (1 frame : DataFrame | df_nrows frame = wc_nrows token && df_ncols frame = wc_ncols token) →
(1 column : (Array Float) | size column = wc_nrows token) → b
) : b
Uninterpreted
Functions declared as def f ... = uninterpreted: only their signature is known to the verifier; they have no body.
def df_nrows : (df : DataFrame) → Int
def df_ncols : (df : DataFrame) → Int
def pair_nrows : (pr : DataFramePair) → Int
def pair_ncols : (pr : DataFramePair) → Int
def wc_nrows : (w : DataFrameCol) → Int
def wc_ncols : (w : DataFrameCol) → Int