Version History
1.0.0-dev5 (in development)
- Add
abc()
: Return bands A, B, C with cause-effect mappings (employs nested call of Effects
).
- Add
groups()
to Effects
that tabulates key measures for all, vital few and useful many value groups.
- Add
groups()
, triage()
and combinations()
to REffort
.
- Switch
entropy()
to numpy.log2()
(transfer array to C layer instead of each single value alone): Cuts execution time for entropy(flight_delays()) by 75%, Effects(flight_delays()) by half.
- Add
the_rule()
to effectus.Effects
(rule 50/5 and variants which is inverse relationship [but not reciprocal value!] that __repr__()
returns).
- Add
effectus.intersections
to intersect result and effort values of keys.
- Change documentation to reflect Effects class.
- Transfer
effectus.pareto
module to cython code:
%timeit entropy(list(FLIGHT_DELAYS))
measures
only 38 ms instead of 296 ms (-87%).
- [Major] Fix
attain_effects()
to return only an effect that is greater
than specified effect value.
- Refactor
make_relations()
to incorporate get_majors()
. Add match_relations()
that eventually will supersede get_relevant()
.
complete()
that will supersede make_summary()
is 7.5x faster for 315 values (-87%), 10x for 887 values (-91%), 32x for 9,605 values (-97%),
21x for 1,596,267 values (-95%).
- Refactor
attain_causes()
and attain_effects()
by using find_nearest_bisect()
.
- Refactor
find_nearest()
into find_nearest_bisect()
:
%timeit Effects(BELLS)
in IPython measures 30% less time.
- greater_equal argument allows to consider greater or equal values (for
attain_effects()
et al.).
- Refactor
separate_causes()
and separate_effects()
by starting search with separating ordinal instead of filtering the whole list.
- Add
retrieve_causes()
and retrieve_effects()
to get the values directly.
- Add
interval_causes()
and interval_effects()
functions to Effects class. Both allow to conveniently determine effects and causes for an interval of causes and effects respectively.
- Add partial parameter to:
- Add
all
, few
, most
providing through Stats
mean()
and pstdev()
.
- Add
intervals
module with functions keys_in_effects_interval()
and keys_in_causes_interval()
.
to retrieve the keys their attribute falls into a specific effects
interval. This allows set()
operations like difference and intersection
for sets of keys of different intervals. effects_intersections()
intersects the same keys for two attributes for the same interval.
- Fix
pick_best()
: Previously it would choose a relation if its power exceeded that of the preceding, which is incorrect. Now it only refers to the ruling power.
- Fix
make_relations_new()
: Previously it returned a cause by one too high due to ordinal+1 in a enumerate()
loop that already set the start to 1. This was only visible for low number of total causes, which is the case for values of short lengths.
- Change variability attribute to percentage points.
- Example data: Add domestic letters sent and received for 135 countries,
Swiss railway passenger frequency of 724 stations,
capacity of 7,610 US power stations,
length and surface of 510 bridges in Portland,
mass and radii of 630 exoplanets (dict!),
fares of 891 titanic passengers,
volumes of 536,752 German trees,
volumes and surfaces of 519 lakes and reservoirs,
surfaces of 248,613 lakes, reservois and wetlands.
- Example data: Change data type from constant tuple to function
returning list to make it testable.
- Tutorial: Devise five exercises with assignments.
- Tests: Add for Excel, reaching 100% test coverage.
1.0.0-dev4 — 2017-02-01
- Introduce
Effects
class as umbrella replacing core functions.
- Example data: Add global cheese production.
- Introduce
__repr__()
method to replace former make_summary()
function.
- Change
make_summary()
, format_summary()
(necessarily cli
functions)
to expect relations as input rather than sorted_values. This is as :class`Effects`
class stores the relations attribute to prevent unnecessary recalculation.
1.0.0-dev3 — 2017-01-31
- Add exception
StringFound
to be raised if Excel selection contains a string.
- Example data: Add countries area, population and GDP, oil reserves,
consumption, CO2 emissions, Euro coins and bank notes data.
- Add
skip_blanks()
to filter out empty cells from Excel selection.
- Refactor
frac_gcd()
and get_gcd()
into decimal_gcd()
and greatest_gcd()
.
- Isolate
get_majors()
from get_relevant()
.
1.0.0-dev2 — 2016-12-24
- Complete redesign.
- Include real-life examples.
- Add
separator
function.