Not on PyPI yet. Install:
git clone https://github.com/AnswerDotAI/basedtab.git
pip install -e .read_csv and save_csv
from basedtab.core import BFrame
bf = BFrame.read_csv(path)
bf.head(2).df
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
| Number | City | Gender | Age | Income | Illness | |
|---|---|---|---|---|---|---|
| 0 | 1 | Dallas | Male | 41 | 40367.0 | No |
| 1 | 2 | Dallas | Male | 54 | 45084.0 | No |
from basedpl import add, tally, square
MEAN = add.reduce_first / tally
bf.groupby("City", "Income", mean=MEAN)ββββββββββββββββββββ
β"Dallas"β· β
β Income β
βmean 45252.23119 β
β β
β"New York City"β· β
β Income β
βmean 96857.13139 β
β β
β"Los Angeles"β· β
β Income β
βmean 95264.15541 β
β β
β"Mountain View"β· β
β Income β
βmean 135078.4158 β
β β
β"Boston"β· β
β Income β
βmean 91554.5715 β
β β
β"Washington D.C."β·β
β Income β
βmean 70991.61281 β
β β
β"San Diego"β· β
β Income β
βmean 100756.2092 β
β β
β"Austin"β· β
β Income β
βmean 90277.51342 β
β~ββββββββββββββββββ
RMSE = MEAN.under(square)
bf.groupby("Gender", ["Age", "Income"], mean=MEAN, rmse=RMSE)ββββββββββββββββββββββββββββββ
β"Male"β· β
β Age Incomeβ
βmean 44.9126253 95670.2472β
βrmse 46.37557969 98752.06754β
β β
β"Female"β· β
β Age Incomeβ
βmean 44.99776435 85660.92184β
βrmse 46.46704189 89097.22374β
β~ββββββββββββββββββββββββββββ
ts = BFrame(dict(price=[5,4.3,4.1,2,10,20,15,25]))
tsβββββββββββββββββββββββββββββββββββ
β price:βββββββββββββββββββββββββ β
β β5 4.3 4.1 2 10 20 15 25β β
β β~βββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββ
ts.rolling("price", size=3, edge="clamp", mean=MEAN)ββββββββββββββββββ
β0β· β
β priceβ
βmean 4.766666667β
β β
β1β· β
β priceβ
βmean 4.466666667β
β β
β2β· β
β priceβ
βmean 3.466666667β
β β
β3β· β
β priceβ
βmean 5.366666667β
β β
β4β· β
β priceβ
βmean 10.66666667β
β β
β5β· β
β price β
βmean 15 β
β β
β6β· β
β price β
βmean 20 β
β β
β7β· β
β priceβ
βmean 21.66666667β
β~ββββββββββββββββ
ts.rolling("price", size=2, step=2, mean=MEAN, rmse=RMSE)ββββββββββββββββββ
β0β· β
β priceβ
βmean 4.65β
βrmse 4.663153439β
β β
β1β· β
β priceβ
βmean 3.05β
βrmse 3.225678223β
β β
β2β· β
β price β
βmean 15 β
βrmse 15.8113883 β
β β
β3β· β
β priceβ
βmean 20β
βrmse 20.61552813β
β~ββββββββββββββββ
ts.plot(title="Time Series")bf["Income"].hist(title="Income Distribution")