Comments (7)
Any link showing me what you mean exactly with "mass" and "mass addition"? If the goal is to associate some value with some intervals, then IntervalDict
is the way to go. Operations involving multiple IntervalDict
instances can be performed using the combine
method (not really efficient, that said).
from portion.
I briefly looked at interval masses and this seems quite specific to real number based intervals. I'm unsure this should fit in portion that aims to stay generic.
from portion.
Thank you for your consideration.
Here is what I have in mind: if I1
, I2
are intervals, and 'mass'[I1]=m1
and 'mass'[I2]=m2
, then dict[I1]=m1
and dict[I2]=m2
if I1
and I2
are disjoint, otherwise dict[I1\I2]=m1
, dict[I2\I1]=m2
, and dict[ I1 & I2]=m1+m2
if they overlap. Masses are summed up in all overlaps, independently of whether intervals are open, closed, integral or real. Not sure I could provide a useful link though.
from portion.
The current behavior of IntervalDict
upon insertion seems to change the existing keys if there are overlaps. My suggestion is to add new behavior or modify the existing one in such a way that separates the overlapping intervals into separate keys, and that handles the values as illustrated in my previous comment. This is in line with existing behavior that does not preserve left-constness (keys), but it would remove arbitrariness of the current behavior. It would be, I think, valuable functionality which is attractive for probability-related calculations.
from portion.
Please have a look at the "combine" method. It handles the example your provided.
from portion.
Indeed it does. Thanks.
from portion.
Perfect :-)
from portion.
Related Issues (20)
- Get number of times multiple intervals overlap HOT 3
- Iteration of empty intervals is inconsistent. in general "empty := (+inf,-inf)" is problematic HOT 15
- Is this library performant enough to work with (non-atomic) intervals which span integers between 1 and 1 billion? HOT 1
- Using an external comparator? HOT 3
- iterate is broken with subclasses of Interval HOT 12
- Add __format__ method to Interval (improvement) HOT 16
- Thoughts about text-annotation use case and Pandas Ext. API HOT 5
- interval diameter (length, width, measure, range, or size) HOT 8
- Add join / merge method HOT 2
- "compatible version" specifier in setup.py confuses poetry HOT 2
- AttributeError: module 'portion.interval' has no attribute 'empty' HOT 3
- IntervalMultiDict HOT 3
- Add example for pandas in README HOT 5
- importlib error with create_api HOT 2
- Error to import interval, inf, imath from interval HOT 1
- importlib.machinery error with create_api HOT 6
- Enclosure Calculation Bug HOT 1
- Empty Calculation Bug HOT 3
- The performance issues of interval calculations in large quantities. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from portion.