A simple dataset formatter based on business days and weekends.
Project description
Business Dataset Formatter
This package was born with the need to organize a dataset with the following structure:
[{'_id': datetime.datetime(2020, 4, 29, 0, 0), 'deliveries': 1}, #wednesday
{'_id': datetime.datetime(2020, 4, 27, 0, 0), 'deliveries': 1}, #monday
{'_id': datetime.datetime(2020, 4, 26, 0, 0), 'deliveries': 1}] #sunday
It is possible to notice a lack of one day within the dataset above. In this case, this algorithm will deliver the following result:
[{'date': datetime.datetime(2020, 4, 29, 0, 0), 'deliveries': 1}, #wednesday
{'date': datetime.datetime(2020, 4, 29, 0, 0), 'deliveries': 0}, #tuesday
{'date': datetime.datetime(2020, 4, 27, 0, 0), 'deliveries': 1}, #monday
{'date': datetime.datetime(2020, 4, 26, 0, 0), 'deliveries': 1}] #sunday
If there is a weekend day within the dataset, it will be mantained. Otherwise, it will not appear. This version is limited to 15 days.
Install
pip install business-dataset-formatter
How to use
from bdf.bdf import BusinessDatasetFormatter
bd_obj = BusinessDatasetFormatter()
deliveries = [
{'_id': datetime.datetime(2020, 4, 29, 0, 0), 'deliveries': 1}, #wednesday
{'_id': datetime.datetime(2020, 4, 27, 0, 0), 'deliveries': 1}, #monday
{'_id': datetime.datetime(2020, 4, 26, 0, 0), 'deliveries': 1}, #sunday
{'_id': datetime.datetime(2020, 4, 24, 0, 0), 'deliveries': 2}, #friday
{'_id': datetime.datetime(2020, 4, 21, 0, 0), 'deliveries': 3},
{'_id': datetime.datetime(2020, 4, 19, 0, 0), 'deliveries': 3}, #sunday
{'_id': datetime.datetime(2020, 4, 18, 0, 0), 'deliveries': 2}, #saturday
{'_id': datetime.datetime(2020, 4, 17, 0, 0), 'deliveries': 1},
{'_id': datetime.datetime(2020, 4, 16, 0, 0), 'deliveries': 1},
{'_id': datetime.datetime(2020, 4, 15, 0, 0), 'deliveries': 2},
{'_id': datetime.datetime(2020, 4, 14, 0, 0), 'deliveries': 1},
{'_id': datetime.datetime(2020, 4, 13, 0, 0), 'deliveries': 1},
{'_id': datetime.datetime(2020, 4, 11, 0, 0), 'deliveries': 1}, #saturday
{'_id': datetime.datetime(2020, 4, 10, 0, 0), 'deliveries': 1},
{'_id': datetime.datetime(2020, 4, 9, 0, 0), 'deliveries': 2},
{'_id': datetime.datetime(2020, 4, 8, 0, 0), 'deliveries': 4},
{'_id': datetime.datetime(2020, 4, 7, 0, 0), 'deliveries': 3},
{'_id': datetime.datetime(2020, 4, 6, 0, 0), 'deliveries': 1},
{'_id': datetime.datetime(2020, 4, 5, 0, 0), 'deliveries': 5}
]
current_date = datetime.date(year=2020, month=4, day=29)
id_field = '_id'
qty_field = 'deliveries'
adj_dataset = bd_obj.return_15_days_data(current_date, deliveries, id_field, qty_field)
The variable adj_dataset will contain the following result:
[
{'date': datetime.datetime(2020, 4, 29, 0, 0), 'deliveries': 1},
{'date': datetime.datetime(2020, 4, 28, 0, 0), 'deliveries': 0},
{'date': datetime.datetime(2020, 4, 27, 0, 0), 'deliveries': 1},
{'date': datetime.datetime(2020, 4, 26, 0, 0), 'deliveries': 1},
{'date': datetime.datetime(2020, 4, 24, 0, 0), 'deliveries': 2},
{'date': datetime.datetime(2020, 4, 23, 0, 0), 'deliveries': 0},
{'date': datetime.datetime(2020, 4, 22, 0, 0), 'deliveries': 0},
{'date': datetime.datetime(2020, 4, 21, 0, 0), 'deliveries': 3},
{'date': datetime.datetime(2020, 4, 20, 0, 0), 'deliveries': 0},
{'date': datetime.datetime(2020, 4, 19, 0, 0), 'deliveries': 3},
{'date': datetime.datetime(2020, 4, 18, 0, 0), 'deliveries': 2},
{'date': datetime.datetime(2020, 4, 17, 0, 0), 'deliveries': 1},
{'date': datetime.datetime(2020, 4, 16, 0, 0), 'deliveries': 1},
{'date': datetime.datetime(2020, 4, 15, 0, 0), 'deliveries': 2},
{'date': datetime.datetime(2020, 4, 14, 0, 0), 'deliveries': 1}
]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for business-dataset-formatter-0.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d52682bfccd23c34381ddf21e666241cca0bbfa9963d108815b98b6ce7aa6fa |
|
MD5 | 75e6fd19b9e19fffa142917c211e0613 |
|
BLAKE2b-256 | 04a37a9e9d9f8c75dce377ce85e572cacb9a85e5fbd4fabc3aa68371f930f57d |
Close
Hashes for business_dataset_formatter-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2805877bb11f1eeb533432eb54ba3367ebf704f66ca1a7bc0633d0328edb6fdc |
|
MD5 | fedc803ae04be18ba0bc85c2ce146a80 |
|
BLAKE2b-256 | 18f375a80e1c4450be72ad92cb360fae8947756c469327e5e6fbc1e6ea02b181 |