Skip to content

Commit 9737c56

Browse files
committed
delim_whitespace=True for pd.read_table to fix tab/vs space issues
1 parent bf60907 commit 9737c56

File tree

4 files changed

+101
-130
lines changed

4 files changed

+101
-130
lines changed

docs/Showcase.ipynb

Lines changed: 75 additions & 127 deletions
Large diffs are not rendered by default.

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"version": "1.2.0",
1616
"author": "Anselm Kiefner",
1717
"author_email": "fuzzylogic-pypi@anselm.kiefner.de",
18-
"python_requires": ">=3.8",
18+
"python_requires": ">=3.7",
1919
"keywords": [
2020
"fuzzy logic",
2121
],

src/fuzzylogic/classes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ def __call__(self, args: "dict[Domain, float]", method="cog"):
436436

437437
weights = []
438438
for K, v in self.conditions.items():
439-
x = min(actual_values[k] for k in K if k in actual_values)
439+
x = min((actual_values[k] for k in K if k in actual_values), default=0)
440440
if x > 0:
441441
weights.append((v, x))
442442

@@ -465,7 +465,7 @@ def rule_from_table(table: str, references: dict):
465465

466466
import pandas as pd
467467

468-
df = pd.read_table(io.StringIO(table))
468+
df = pd.read_table(io.StringIO(table), delim_whitespace=True)
469469
D = {}
470470
for x, y in product(range(len(df.index)), range(len(df.columns))):
471471
D[(eval(df.index[x].strip(), references), eval(df.columns[y].strip(), references))] = eval(

tests/.tests/.test1.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import io
2+
from itertools import product
3+
4+
import pandas as pd
5+
6+
table = """
7+
hum.dry hum.wet
8+
temp.cold very(motor.slow) motor.slow
9+
temp.hot motor.fast very(motor.fast)
10+
"""
11+
12+
references = globals()
13+
14+
df = pd.read_table(io.StringIO(table), delim_whitespace=True)
15+
D = {}
16+
17+
for x, y in product(range(len(df.index)), range(len(df.columns))):
18+
D[(eval(df.index[x].strip(), references),
19+
eval(df.columns[y].strip(), references))] = eval(
20+
df.iloc[x, y], references
21+
)
22+
23+

0 commit comments

Comments
 (0)