Koala
What is the library?
Python's pandas implemented for fast, type safe programming in Rust.
Available Functions & Attributes
-
CSV
.read_csv(path: &str) -> CSV
returns CSV struct reading file from given path
let mut content = String new; let csv : CSV = read_csv; // CSV { headers, values, matrix }
.get_df() -> DataFrame
returns DataFrame from a CSV struct
let mut df = csv.get_df; // DataFrame { columns, dataset, values }
-
DataFrame
.columns -> Vec<&str>
returns array of strings, containing column names
df.columns; // ["name","age"]
.dataset -> Vec<Vec<&str>>
returns dataset matrix
df.dataset; // [["bob","30"] ]
.values -> Vec<Pair(&str, Vec<&str>)>
returns vector of pairs, containing column name, and all column values
df.values; // [("name", ["bob", "richard"]), ("age", ["30", "25])]
.max(column: &str) -> f64
returns max from all values inside a column
df.max; // 30 as f64
.max(column: &str) -> f64
return min from all values inside a column
df.min; // 25 as f64
.mean(column: &str) -> f64
return mean from all values inside a column
df.mean; // 27.5 as f64
.sum(column: &str) -> f64
returns sum of all non N/A values from column
df.sum; // 55 as f64
[&str] -> Vec<&str>
string index for DataFrame, returns all values from a given column
df; // ["30", "25"]
[usize] -> Vec<&str>
usize index for DataFrame, returns given row with all columns
df; // ["bob", "30"]
.iloc(Vec<Range, Range>) -> Vec<Vec<&str>>
returns sliced dataset matrix from given range
df.iloc; // [["richard"], ["bob"]]
.is_na_col(column: &str) -> bool
returns if given column on DataFrame has a missing value
df.is_na_col; // false
.is_na() -> bool
returns matrix containing missing value bool for each value
df.is_na; // [[false, false], [false, false]]
.push(value: Vec<&str>)
returns matrix containing missing value bool for each value
df.push; df.dataset; // [["richard", "30"], ["bob", "25"], ["ann", "20"]]
.pop(value: Vec<&str>) -> Vec<&str>
returns matrix containing missing value bool for each value
df.pop; // ["ann", "20"] df.pop; // ["bob", "25"] df.dataset; // [["richard", "30"]]
.n_uniques(column: &str) -> usize
returns matrix containing missing value bool for each value
df.n_uniques; // 2 as usize
.uniques(column: &str) -> Vec<&str>
returns matrix containing missing value bool for each value
df.uniques; // ["30", "25"]
.apply(column: &str, function: for<'r> fn(&'r str) -> &'a str)
applies closure function to each value on given column
.apply; df.dataset; // [["richard", "20"], ["bob", "20"]] df
.fillna(column: &str, value: &str)
assigns given value to each N/A value on column
df.fillna; // [["richard", "26"], ["bob", "26"]] given bob had no prior age
.dtypes -> HashMap<&str, &str>
returns type of each column
df.dtypes // {"age": "numeric", "name": "str" }