Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intersect #79

Merged
merged 23 commits into from
Apr 19, 2024
Merged

Intersect #79

merged 23 commits into from
Apr 19, 2024

Conversation

Pizza2Pizza
Copy link
Collaborator

@Pizza2Pizza Pizza2Pizza commented Feb 13, 2024

created function intersect_flex that takes bool arguments: ignore_freq, ignore_tz and ignore_start_of_day


📚 Documentation preview 📚: https://portfolyo--79.org.readthedocs.build/en/79/

@Pizza2Pizza Pizza2Pizza linked an issue Feb 13, 2024 that may be closed by this pull request
@Pizza2Pizza
Copy link
Collaborator Author

not yet fully finished

@Pizza2Pizza Pizza2Pizza reopened this Apr 15, 2024
@@ -17,6 +18,8 @@
from .tools.tzone import force_agnostic, force_aware
from .tools.unit import Q_, Unit, ureg
from .tools.wavg import general as wavg
from .tools2.concat import general as concat
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Pizza2Pizza this line is already on line 9. But let's not stop the PR for this; just remove it from the plot_children branch after merging the new develop into it.

@rwijtvliet rwijtvliet merged commit ad79fa2 into develop Apr 19, 2024
14 checks passed
@rwijtvliet rwijtvliet deleted the intersect branch April 19, 2024 22:46
rwijtvliet added a commit that referenced this pull request May 27, 2024
* better description of development process (#70)

* Update README.rst (#71)

* feat: bump version to latest release +1 (#69)

* Wavgfix (#62)

* initial commit

* small fix

* stash for the weekend

* Fixed wavg to handle surplus values.

* Re-instated 'Europe/Berlin' as default for tz in standardize. For now.

* small fix in docs

* docs and better unit handling

* Kind available at project root

* fixed init tests (?)

* new release

* fixed for pyton 3.9 too

* additional tests (#74)

* Portfolyo Release 0.5.10 (#75)

* Slice (#78)

* added slice property & tests

* changed toml

* fixed tz issue and added tz test for slicing

* added test-cases with tz

---------

Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>
Co-authored-by: rwijtvliet <rwijtvliet@gmail.com>

* Standardise sod (#82)

* refactoring and additional assertion on start-of-day

* fixed test and assertion

* fixed?

* fixed some

* not working

* fixed some things

* tests for slice

* final test for slice for 15T

* docs

* try to fix docs

* another try to fix

* poetry shell

* fixing 2.0

* fixing 2.1

* fixing 3.0

* fixing 4.0

* fixing 5.0

* fixing 6.0

* fixng 7.0

* fixng 8.0

* fixing 11

* fixing 12

* fixing 13

* fixng 14

* fixing 15

* fixing 16

* fixing 17

* deleted python 3.0 from tests

* deleted hmtl folder

* changed toml

* updated lock file

---------

Co-authored-by: rwijtvliet <rwijtvliet@gmail.com>
Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>

* Concat (#83)

* added slice property & tests

* changed toml

* created branch concat

* first commit

* works for flat pflines, nested not yet

* draft of concat function done, need more testing though

* created error_case tests for concat

* wrote test_func for concat_pflines, improved the code for concat

* added test cases for concat pfstates, requires approval(!)

* changed test_function

* change general to take iterable as argument

---------

Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>

* Toplevelfunctions (#84)

* initial commit

* gitignore

* Intersect (#79)

* added slice property & tests

* changed toml

* created branch for intersect_flex function

* new test function

* added tests for intersect_flex frames

* all test are passing

* test ignore all for intersect frame

* fixed documentation

* deleted req docs

* added DST testcase

* not working help

* Added back missing file

* added valuerror for sod with less than daily freq

* deleted unnecessary files

* tests for indexable

* tests for indexable with 2 obj

* added oneliner in docs and test for 3 obj. case

---------

Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>
Co-authored-by: rwijtvliet <rwijtvliet@gmail.com>

* Plot children (#87)

* changed to poetry

* fixed pint problem (groups in unitdef.txt) and pint-pandas dependency problem by fixing pandas to 2.0

* ci pipeline

* ci pipeline

* ci with poetry

* solve dependency problems between pandas and pint-pandas

* workaround pint-pandas bug

* typo

* seaborn pinned version to 0.8

* fixed to_excel function, updated version of pint

* fixed arithmatic on pflines without overlap

* small changes
small changes

* more consistent functions to get random pfline

* deleted comment

* change the python version for push request to 3.11

* test

* Removed unused dependency

* updated toml

* added exception if no clipboard available

* updated toml

* fixed pfline_excelclipboad.py

* changed lock file for pre-commit

* install poetry libraries in pre-commit step

* use black on all files in pre-commit

* updated flake8 version in pre-commit.yaml

* exclude .venv folder from flake8

* changed setup.cfg to ignore flake8 error messages

* initial commit

* first try at plotting children

* bar plot with children

* created plot_children(),fixed bug with darken

* area plots for children stacked on top of each other. for daily it plots only parent

* changed the logic of all plot_timeseries_as functions, now based on frequency

* created a function to test plotting pfline

* created slice attr, wrote tests for it

* more flexible intersec function with ignore freq, tz, start_of_day + tests

* small changes to intersect

* intersect_flex function is finished, more testing with frames needed

* finished intersect_flex, more testing with frames needed

* added children bool to plot pfstate

* added hash function for colors for children

* deleted unnecessary test

* changed hash function, and width of hline

* deleted unnecessary test

* plot with children

* changed plot_pfstate to work with new logic

* tests for plot function

* added function to set limits to plot pfstate

* fixed strict variable for test cases

* Deleted unnecessary files

* changed yaml file to exclude python 3.10 with mac 14

---------

Co-authored-by: rwijtvliet <rwijtvliet@gmail.com>
Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>

* Structure (#90)

* changed to poetry

* fixed pint problem (groups in unitdef.txt) and pint-pandas dependency problem by fixing pandas to 2.0

* ci pipeline

* ci pipeline

* ci with poetry

* solve dependency problems between pandas and pint-pandas

* workaround pint-pandas bug

* typo

* seaborn pinned version to 0.8

* fixed to_excel function, updated version of pint

* fixed arithmatic on pflines without overlap

* small changes
small changes

* more consistent functions to get random pfline

* deleted comment

* change the python version for push request to 3.11

* test

* Removed unused dependency

* updated toml

* added exception if no clipboard available

* updated toml

* fixed pfline_excelclipboad.py

* changed lock file for pre-commit

* install poetry libraries in pre-commit step

* use black on all files in pre-commit

* updated flake8 version in pre-commit.yaml

* exclude .venv folder from flake8

* changed setup.cfg to ignore flake8 error messages

* initial commit

* first try at plotting children

* bar plot with children

* created plot_children(),fixed bug with darken

* area plots for children stacked on top of each other. for daily it plots only parent

* changed the logic of all plot_timeseries_as functions, now based on frequency

* created a function to test plotting pfline

* created slice attr, wrote tests for it

* more flexible intersec function with ignore freq, tz, start_of_day + tests

* small changes to intersect

* intersect_flex function is finished, more testing with frames needed

* finished intersect_flex, more testing with frames needed

* added children bool to plot pfstate

* added hash function for colors for children

* deleted unnecessary test

* changed hash function, and width of hline

* deleted unnecessary test

* plot with children

* changed plot_pfstate to work with new logic

* tests for plot function

* refactoring

* more powerful peak/offpeak functions

* removed longer_or_shorter from frequency tools; Use the up_or_down function instead

* tests for peakfn and peakconvert

* fixed test

* removed all Union and replaced with |


---------

Co-authored-by: rwijtvliet <rwijtvliet@gmail.com>
Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>

* Portfolyo Release 0.6.0

* Portfolyo Release 0.6.0 (#91)

* 0.6.0 (#93)

* 0.6.0 (#94)

---------

Co-authored-by: Stefan Keidel <1188614+stefankeidel@users.noreply.github.com>
Co-authored-by: Alina Voilova <91426818+Pizza2Pizza@users.noreply.github.com>
Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>
Pizza2Pizza added a commit that referenced this pull request May 28, 2024
* new release 0.6.0 (#92)

* better description of development process (#70)

* Update README.rst (#71)

* feat: bump version to latest release +1 (#69)

* Wavgfix (#62)

* initial commit

* small fix

* stash for the weekend

* Fixed wavg to handle surplus values.

* Re-instated 'Europe/Berlin' as default for tz in standardize. For now.

* small fix in docs

* docs and better unit handling

* Kind available at project root

* fixed init tests (?)

* new release

* fixed for pyton 3.9 too

* additional tests (#74)

* Portfolyo Release 0.5.10 (#75)

* Slice (#78)

* added slice property & tests

* changed toml

* fixed tz issue and added tz test for slicing

* added test-cases with tz

---------

Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>
Co-authored-by: rwijtvliet <rwijtvliet@gmail.com>

* Standardise sod (#82)

* refactoring and additional assertion on start-of-day

* fixed test and assertion

* fixed?

* fixed some

* not working

* fixed some things

* tests for slice

* final test for slice for 15T

* docs

* try to fix docs

* another try to fix

* poetry shell

* fixing 2.0

* fixing 2.1

* fixing 3.0

* fixing 4.0

* fixing 5.0

* fixing 6.0

* fixng 7.0

* fixng 8.0

* fixing 11

* fixing 12

* fixing 13

* fixng 14

* fixing 15

* fixing 16

* fixing 17

* deleted python 3.0 from tests

* deleted hmtl folder

* changed toml

* updated lock file

---------

Co-authored-by: rwijtvliet <rwijtvliet@gmail.com>
Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>

* Concat (#83)

* added slice property & tests

* changed toml

* created branch concat

* first commit

* works for flat pflines, nested not yet

* draft of concat function done, need more testing though

* created error_case tests for concat

* wrote test_func for concat_pflines, improved the code for concat

* added test cases for concat pfstates, requires approval(!)

* changed test_function

* change general to take iterable as argument

---------

Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>

* Toplevelfunctions (#84)

* initial commit

* gitignore

* Intersect (#79)

* added slice property & tests

* changed toml

* created branch for intersect_flex function

* new test function

* added tests for intersect_flex frames

* all test are passing

* test ignore all for intersect frame

* fixed documentation

* deleted req docs

* added DST testcase

* not working help

* Added back missing file

* added valuerror for sod with less than daily freq

* deleted unnecessary files

* tests for indexable

* tests for indexable with 2 obj

* added oneliner in docs and test for 3 obj. case

---------

Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>
Co-authored-by: rwijtvliet <rwijtvliet@gmail.com>

* Plot children (#87)

* changed to poetry

* fixed pint problem (groups in unitdef.txt) and pint-pandas dependency problem by fixing pandas to 2.0

* ci pipeline

* ci pipeline

* ci with poetry

* solve dependency problems between pandas and pint-pandas

* workaround pint-pandas bug

* typo

* seaborn pinned version to 0.8

* fixed to_excel function, updated version of pint

* fixed arithmatic on pflines without overlap

* small changes
small changes

* more consistent functions to get random pfline

* deleted comment

* change the python version for push request to 3.11

* test

* Removed unused dependency

* updated toml

* added exception if no clipboard available

* updated toml

* fixed pfline_excelclipboad.py

* changed lock file for pre-commit

* install poetry libraries in pre-commit step

* use black on all files in pre-commit

* updated flake8 version in pre-commit.yaml

* exclude .venv folder from flake8

* changed setup.cfg to ignore flake8 error messages

* initial commit

* first try at plotting children

* bar plot with children

* created plot_children(),fixed bug with darken

* area plots for children stacked on top of each other. for daily it plots only parent

* changed the logic of all plot_timeseries_as functions, now based on frequency

* created a function to test plotting pfline

* created slice attr, wrote tests for it

* more flexible intersec function with ignore freq, tz, start_of_day + tests

* small changes to intersect

* intersect_flex function is finished, more testing with frames needed

* finished intersect_flex, more testing with frames needed

* added children bool to plot pfstate

* added hash function for colors for children

* deleted unnecessary test

* changed hash function, and width of hline

* deleted unnecessary test

* plot with children

* changed plot_pfstate to work with new logic

* tests for plot function

* added function to set limits to plot pfstate

* fixed strict variable for test cases

* Deleted unnecessary files

* changed yaml file to exclude python 3.10 with mac 14

---------

Co-authored-by: rwijtvliet <rwijtvliet@gmail.com>
Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>

* Structure (#90)

* changed to poetry

* fixed pint problem (groups in unitdef.txt) and pint-pandas dependency problem by fixing pandas to 2.0

* ci pipeline

* ci pipeline

* ci with poetry

* solve dependency problems between pandas and pint-pandas

* workaround pint-pandas bug

* typo

* seaborn pinned version to 0.8

* fixed to_excel function, updated version of pint

* fixed arithmatic on pflines without overlap

* small changes
small changes

* more consistent functions to get random pfline

* deleted comment

* change the python version for push request to 3.11

* test

* Removed unused dependency

* updated toml

* added exception if no clipboard available

* updated toml

* fixed pfline_excelclipboad.py

* changed lock file for pre-commit

* install poetry libraries in pre-commit step

* use black on all files in pre-commit

* updated flake8 version in pre-commit.yaml

* exclude .venv folder from flake8

* changed setup.cfg to ignore flake8 error messages

* initial commit

* first try at plotting children

* bar plot with children

* created plot_children(),fixed bug with darken

* area plots for children stacked on top of each other. for daily it plots only parent

* changed the logic of all plot_timeseries_as functions, now based on frequency

* created a function to test plotting pfline

* created slice attr, wrote tests for it

* more flexible intersec function with ignore freq, tz, start_of_day + tests

* small changes to intersect

* intersect_flex function is finished, more testing with frames needed

* finished intersect_flex, more testing with frames needed

* added children bool to plot pfstate

* added hash function for colors for children

* deleted unnecessary test

* changed hash function, and width of hline

* deleted unnecessary test

* plot with children

* changed plot_pfstate to work with new logic

* tests for plot function

* refactoring

* more powerful peak/offpeak functions

* removed longer_or_shorter from frequency tools; Use the up_or_down function instead

* tests for peakfn and peakconvert

* fixed test

* removed all Union and replaced with |


---------

Co-authored-by: rwijtvliet <rwijtvliet@gmail.com>
Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>

* Portfolyo Release 0.6.0

* Portfolyo Release 0.6.0 (#91)

* 0.6.0 (#93)

* 0.6.0 (#94)

---------

Co-authored-by: Stefan Keidel <1188614+stefankeidel@users.noreply.github.com>
Co-authored-by: Alina Voilova <91426818+Pizza2Pizza@users.noreply.github.com>
Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>

* tests using fixtures

* cov report

---------

Co-authored-by: Stefan Keidel <1188614+stefankeidel@users.noreply.github.com>
Co-authored-by: Alina Voilova <91426818+Pizza2Pizza@users.noreply.github.com>
Co-authored-by: Alina Voilova <alina.voilova@lichtblick.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[enhancement] More flexible intersect functions
2 participants