Expand description
BlackJack strives to be a full featured crate for general data processing.
Long term goal is to create a lightweight Pandas equivalent by and for the Rust community, but with slight differences in focus…
The project strives for a few key principles. When any implementation decisions are to be made, they are made with these principles in mind, and in this order:
- Memory efficiency
- Minimize memory use at every opportunity.
- Usability
- Strive for ergonomics; often done by modeling the
Pandas
API where possible.
- Strive for ergonomics; often done by modeling the
- Speedy
- It comes naturally most times with Rust. :)
Eventually, a Python wrapper: Lumber-Jack associated with this crate, but that time will come.
§Example use:
use blackjack::prelude::*;
// We have a dataframe, of course...
let mut df = DataFrame::new();
// Make some series, of different types
let series_i32: Series<i32> = Series::arange(0, 5);
let mut series_f64: Series<f64> = Series::from_vec(vec![1.0, 2.0, 3.0, 4.0, 5.0]);
// You can set a series name!
series_f64.set_name("my-series");
// Or not...
assert_eq!(series_i32.name(), None);
// And add them to the dataframe
df.add_column(series_f64).unwrap();
df.add_column(series_i32).unwrap();
// And then get a reference to a Series
let series_f64_ref: &Series<f64> = df.get_column("my-series").unwrap();
// and a lot more...
Modules§
- dataframe
- DataFrame object and associated functionality
- enums
- Enums to be used throughout the crate.
- error
- The common Error(s) and associated implementations used in within the crate
- macros
- Mostly internal level macros for implementing ops per series type
- prelude
- Default and recommended imports for functionality of crate.
- row
- Representation of a row in a
DataFrame
and related structs - series
- Series represents a single column within a
DataFrame
- traits
- Traits to be used throughout the crate
Macros§
- impl_
series_ by_ series_ op - Implement series by series operations
ie.
series1 + series2
- impl_
series_ by_ series_ op_ inplace - Implement various inplace numeric operations for a Series
ie.
series += 1
- impl_
series_ into_ iter - Implement
IntoIter
for a dtype (ie. f64) forSeries