Skip to content

Commit bba40a8

Browse files
authored
Merge pull request #67 from e2nIEE/feature/repair_more_imports
[Fix] More imports needed fixing.
2 parents bd62800 + fdf13a8 commit bba40a8

7 files changed

Lines changed: 73 additions & 34 deletions

File tree

simbench/converter/csv_pp_converter.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@
1818
from pandapower.plotting import create_generic_coordinates
1919
import warnings
2020

21+
try:
22+
from pandapower.toolbox.grid_modification import drop_inactive_elements as pp_drop_inactive_elements
23+
except ImportError:
24+
from pandapower import drop_inactive_elements as pp_drop_inactive_elements
25+
2126
import logging
2227

2328
from simbench.converter.auxiliary import (
@@ -327,7 +332,7 @@ def pp2csv_data(
327332
_extend_pandapower_net_columns(net)
328333
if drop_inactive_elements:
329334
# attention: trafo3ws are not considered in current version of drop_inactive_elements()
330-
pp.drop_inactive_elements(net, respect_switches=False)
335+
pp_drop_inactive_elements(net, respect_switches=False)
331336
dev_from_std = DeviationFromStdType().diagnostic(net)
332337
if dev_from_std:
333338
logger.warning(

simbench/converter/pp_net_manipulation.py

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@
1919
from simbench.converter.voltLvl import get_voltlvl
2020
from simbench.converter.format_information import get_columns
2121

22+
try:
23+
from pandapower.toolbox.element_selection import get_connected_buses
24+
from pandapower.toolbox.data_modification import add_column_from_node_to_elements, add_column_from_element_to_elements
25+
except ImportError:
26+
from pandapower import get_connected_buses, add_column_from_node_to_elements, add_column_from_element_to_elements
27+
2228
logger = logging.getLogger(__name__)
2329

2430
__author__ = "smeinecke"
@@ -336,7 +342,7 @@ def merge_busbar_coordinates(net, on_bus_geodata):
336342
for bb_node in bb_nodes:
337343
if bb_node in all_connected_buses:
338344
continue
339-
connected_nodes = pp.get_connected_buses(
345+
connected_nodes = get_connected_buses(
340346
net, bb_node, consider=("t", "s")
341347
)
342348
if len(connected_nodes):
@@ -383,23 +389,23 @@ def provide_subnet_col(net):
383389

384390
# --- If both, subnet and zone, are not available, take subnet from bus
385391
# add subnet column from node to all elements but "trafo"
386-
pp.add_column_from_node_to_elements(
392+
add_column_from_node_to_elements(
387393
net,
388394
"subnet",
389395
replace=False,
390396
elements=pp.pp_elements(bus=False) - {"trafo"},
391397
branch_bus=["from_bus", "lv_bus"],
392398
)
393399
# add subnet column from node to trafo without verbose
394-
pp.add_column_from_node_to_elements(
400+
add_column_from_node_to_elements(
395401
net,
396402
"subnet",
397403
replace=False,
398404
elements={"trafo"},
399405
branch_bus=["from_bus", "lv_bus"],
400406
verbose=False,
401407
)
402-
pp.add_column_from_element_to_elements(
408+
add_column_from_element_to_elements(
403409
net, "subnet", replace=False, elements=["measurement"]
404410
)
405411

@@ -434,23 +440,23 @@ def provide_voltLvl_col(net):
434440

435441
# --- provide voltLvl parameters for all elements
436442
# add voltLvl column from node to all elements but "trafo"
437-
pp.add_column_from_node_to_elements(
443+
add_column_from_node_to_elements(
438444
net,
439445
"voltLvl",
440446
replace=False,
441447
elements=pp.pp_elements(bus=False) - {"trafo"},
442448
branch_bus=["to_bus", "hv_bus"],
443449
)
444450
# add voltLvl column from node to trafo without verbose
445-
pp.add_column_from_node_to_elements(
451+
add_column_from_node_to_elements(
446452
net,
447453
"voltLvl",
448454
replace=False,
449455
elements={"trafo"},
450456
branch_bus=["to_bus", "hv_bus"],
451457
verbose=False,
452458
)
453-
pp.add_column_from_element_to_elements(
459+
add_column_from_element_to_elements(
454460
net, "voltLvl", replace=False, elements=["measurement"]
455461
)
456462
# correct voltLvl for trafos
@@ -466,17 +472,17 @@ def provide_voltLvl_col(net):
466472
def provide_substation_cols(net):
467473
# --- providing 'substation' column in switches and trafos
468474
if "substation" in net.bus.columns:
469-
pp.add_column_from_node_to_elements(
475+
add_column_from_node_to_elements(
470476
net, "substation", replace=False, elements=["switch"]
471477
)
472-
pp.add_column_from_node_to_elements(
478+
add_column_from_node_to_elements(
473479
net,
474480
"substation",
475481
replace=False,
476482
elements=["trafo"],
477483
branch_bus=["from_bus", "lv_bus"],
478484
)
479-
pp.add_column_from_element_to_elements(
485+
add_column_from_element_to_elements(
480486
net, "substation", replace=False, elements=["measurement"]
481487
)
482488

simbench/networks/extract_simbench_grids_from_csv.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
from simbench import csv_data2pp, read_csv_data, csv_tablenames, idx_in_2nd_array, \
1616
ensure_iterability, pp_profile_names
1717

18+
try:
19+
from pandapower.toolbox.element_selection import get_connected_buses
20+
from pandapower.toolbox.grid_modification import fuse_buses
21+
except ImportError:
22+
from pandapower import get_connected_buses, fuse_buses
23+
1824
import logging
1925

2026
logger = logging.getLogger(__name__)
@@ -287,7 +293,7 @@ def _get_connected_buses_via_bus_bus_switch(net, buses):
287293
buses = set(ensure_iterability(buses))
288294
add_buses = [1] # set anything to add_buses to start the while loop
289295
while(len(add_buses)):
290-
add_buses = pp.get_connected_buses(net, buses, consider=("s"))
296+
add_buses = get_connected_buses(net, buses, consider=("s"))
291297
buses |= add_buses
292298
return buses
293299

@@ -316,7 +322,7 @@ def generate_no_sw_variant(net):
316322

317323
# fuse buses which are connected via bus-bus switches
318324
for b1, b2 in to_fuse.items():
319-
pp.fuse_buses(net, b1, b2)
325+
fuse_buses(net, b1, b2)
320326

321327
# replace auxiliary type of buses with no switch connected anymore
322328
aux_buses = net.bus.index[net.bus.type == "auxiliary"]

simbench/test/converter/test_auxiliary.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
from copy import deepcopy
99
from packaging import version
1010
import pandapower as pp
11+
try:
12+
from pandapower.toolbox.comparison import compare_arrays, dataframes_equal
13+
except ImportError:
14+
from pandapower import compare_arrays, dataframes_equal
1115

1216
import simbench as sb
1317

@@ -72,7 +76,7 @@ def test_column_indices():
7276
df = pd.DataFrame([[0, 3, 2, 4, 5, 6]], columns=["b", "q", "a", "g", "f", "c"])
7377
query_cols = ["b", "g", "f", "c", "q", "a", "q", "a", "f"]
7478
col_idx = sb.column_indices(df, query_cols)
75-
assert all(pp.compare_arrays(col_idx, np.array([0, 3, 4, 5, 1, 2, 1, 2, 4])))
79+
assert all(compare_arrays(col_idx, np.array([0, 3, 4, 5, 1, 2, 1, 2, 4])))
7680

7781

7882
def test_get_unique_duplicated_dict():
@@ -111,7 +115,7 @@ def test_reindex_dict_dataframes():
111115
expected = {1: df0, 2: df0}
112116
sb.reindex_dict_dataframes(dict_)
113117
for k in dict_.keys():
114-
assert pp.dataframes_equal(dict_[k], expected[k])
118+
assert dataframes_equal(dict_[k], expected[k])
115119

116120

117121
def test_avoid_duplicates_in_column():
@@ -194,14 +198,14 @@ def test_merge_dataframes():
194198
["01.02.2016 00:00:00", -1, 3.2, None, 2],
195199
["02.02.2016 13:45:00", 3, 1, None, 4]],
196200
columns=["time", "A", "B", "C", "D"])
197-
assert pp.dataframes_equal(return1, res1)
201+
assert dataframes_equal(return1, res1)
198202

199203
# ordered index and column, df2 with precedence, time as index
200204
return2 = sb.merge_dataframes([df1, df2], column_to_sort="time", keep="last",
201205
index_time_str="%d.%m.%Y %H:%M:%S")
202206
res2 = deepcopy(res1)
203207
res2.loc[0, ["A", "B"]] = df2.loc[1, ["A", "B"]]
204-
assert pp.dataframes_equal(return2, res2)
208+
assert dataframes_equal(return2, res2)
205209

206210
# --- changed input
207211
new_df1_idx = [1, 3, 4]
@@ -219,13 +223,13 @@ def test_merge_dataframes():
219223
else:
220224
res5 = res5.reindex_axis(["A", "B", "C", "D", "time"], axis=1)
221225
res5.index = [1, 2, 3, 4, 11, 12]
222-
assert pp.dataframes_equal(return5, res5)
226+
assert dataframes_equal(return5, res5)
223227

224228
# ordered index and column, df2 with precedence, no extra index
225229
return6 = sb.merge_dataframes([df1, df2], keep="last")
226230
res6 = deepcopy(res5)
227231
res6.loc[1, ["A", "B"]] = df2.loc[1, ["A", "B"]]
228-
assert pp.dataframes_equal(return6, res6)
232+
assert dataframes_equal(return6, res6)
229233

230234
# beware idx order, df1 with precedence, no extra index
231235
return7 = sb.merge_dataframes([df1, df2], keep="first", sort_index=False, sort_column=False)
@@ -234,7 +238,7 @@ def test_merge_dataframes():
234238
except TypeError: # legacy for pandas <0.21
235239
res7 = deepcopy(res5).reindex_axis(unsorted_index)
236240
res7 = res7.reindex_axis(unsorted_columns, axis=1)
237-
assert pp.dataframes_equal(return7, res7)
241+
assert dataframes_equal(return7, res7)
238242

239243
# beware idx order, df1 with precedence, no extra index
240244
return8 = sb.merge_dataframes([df1, df2], keep="last", sort_index=False, sort_column=False)
@@ -243,20 +247,20 @@ def test_merge_dataframes():
243247
except TypeError: # legacy for pandas <0.21
244248
res8 = deepcopy(res6).reindex_axis(unsorted_index)
245249
res8 = res8.reindex_axis(unsorted_columns, axis=1)
246-
assert pp.dataframes_equal(return8, res8)
250+
assert dataframes_equal(return8, res8)
247251

248252
# merge 3 dfs while keeping first duplicates
249253
return9 = sb.merge_dataframes([df1, df2, df3], keep="first", column_to_sort="time",
250254
index_time_str="%d.%m.%Y %H:%M:%S")
251-
assert pp.dataframes_equal(return9, res1)
255+
assert dataframes_equal(return9, res1)
252256

253257
# merge 3 dfs while keeping last duplicates
254258
return10 = sb.merge_dataframes([df1, df2, df3], keep="last", column_to_sort="time",
255259
index_time_str="%d.%m.%Y %H:%M:%S")
256260
res10 = deepcopy(res1)
257261
df3_col_except_time = df3.columns.difference(["time"])
258262
res10.loc[0, df3_col_except_time] = df3.loc[0, df3_col_except_time].values
259-
assert pp.dataframes_equal(return10, res10)
263+
assert dataframes_equal(return10, res10)
260264

261265
# merge 3 dfs while keeping all duplicates
262266
return11 = sb.merge_dataframes([df1, df2, df3], keep="all")

simbench/test/converter/test_csv_pp_converter.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@
2626
repl_nans_in_obj_cols_to_empty_str,
2727
)
2828

29+
try:
30+
from pandapower.toolbox.comparison import dataframes_equal, nets_equal
31+
from pandapower.toolbox.grid_modification import drop_buses
32+
except ImportError:
33+
from pandapower import dataframes_equal, drop_buses, nets_equal
34+
35+
2936
import logging
3037

3138
logger = logging.getLogger(__name__)
@@ -127,8 +134,8 @@ def test_convert_to_parallel_branches():
127134
convert_parallel_branches(
128135
net2, multiple_entries=False, elm_to_convert=["line"]
129136
)
130-
assert pp.dataframes_equal(net2.line, net1.line)
131-
assert pp.dataframes_equal(net2.trafo, net.trafo)
137+
assert dataframes_equal(net2.line, net1.line)
138+
assert dataframes_equal(net2.trafo, net.trafo)
132139

133140
# only exclude "max_loading_percent"
134141
convert_parallel_branches(
@@ -233,7 +240,7 @@ def test_test_network():
233240
if version.parse(pp.__version__) <= version.parse("2.7.0")
234241
else dict()
235242
)
236-
eq = pp.dataframes_equal(
243+
eq = dataframes_equal(
237244
csv_orig[tablename], csv_exported[tablename], **params
238245
)
239246
if not eq:
@@ -320,7 +327,7 @@ def test_example_simple():
320327
# --- adjust net appearance / define what should be compared
321328
pp_is_27lower = version.parse(pp.__version__) <= version.parse("2.7.0")
322329

323-
pp.drop_buses(net, [to_drop])
330+
drop_buses(net, [to_drop])
324331
if "power_station_trafo" in net.gen.columns:
325332
assert net.gen["power_station_trafo"].isnull().all()
326333
del net.gen["power_station_trafo"]
@@ -375,7 +382,7 @@ def test_example_simple():
375382
)
376383
else:
377384
name_selection.append(elm)
378-
eq = pp.nets_equal(
385+
eq = nets_equal(
379386
net,
380387
net_from_csv_data,
381388
name_selection=name_selection,
@@ -391,7 +398,7 @@ def test_example_simple():
391398
del net["std_types"]
392399
del net_from_csv_data["std_types"]
393400

394-
eq = pp.nets_equal(net, net_from_csv_data, tol=1e-7)
401+
eq = nets_equal(net, net_from_csv_data, tol=1e-7)
395402
assert eq
396403

397404

simbench/test/converter/test_pp_net_manipulation.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@
1111
from simbench.converter import replace_branch_switches, create_branch_switches, \
1212
repl_nans_in_obj_cols_to_empty_str
1313

14+
try:
15+
from pandapower.toolbox.comparison import nets_equal
16+
except ImportError:
17+
from pandapower import nets_equal
18+
1419
import logging
1520

1621
logger = logging.getLogger(__name__)
@@ -79,9 +84,9 @@ def test_branch_switch_changes():
7984
repl_nans_in_obj_cols_to_empty_str(net2)
8085

8186
if version.parse(pp.__version__) <= version.parse("2.7.0"):
82-
assert pp.nets_equal(net_orig, net2, tol=1e-7)
87+
assert nets_equal(net_orig, net2, tol=1e-7)
8388
else:
84-
assert pp.nets_equal(net_orig, net2)
89+
assert nets_equal(net_orig, net2)
8590

8691

8792
if __name__ == "__main__":

simbench/test/networks/test_extract_grids_from_csv.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616
import simbench as sb
1717
from simbench.networks.extract_simbench_grids_from_csv import \
1818
_get_extracted_csv_data_from_dict
19+
20+
try:
21+
from pandapower.toolbox.comparison import dataframes_equal
22+
except ImportError:
23+
from pandapower import dataframes_equal
24+
1925
import logging
2026

2127
logger = logging.getLogger(__name__)
@@ -277,9 +283,9 @@ def test_generate_no_sw_variant():
277283
_preserve_dtypes(net[elm], net_orig[elm].dtypes)
278284
assert (net.bus.name.values == net_orig.bus.name.loc[net.bus.index.difference(
279285
[1, 6])].values).all()
280-
assert pp.dataframes_equal(net.line, net_orig.line)
281-
assert pp.dataframes_equal(net.trafo, net_orig.trafo)
282-
assert pp.dataframes_equal(net.switch, net_orig.switch.loc[[6, 9, 10, 11, 13, 14]])
286+
assert dataframes_equal(net.line, net_orig.line)
287+
assert dataframes_equal(net.trafo, net_orig.trafo)
288+
assert dataframes_equal(net.switch, net_orig.switch.loc[[6, 9, 10, 11, 13, 14]])
283289

284290

285291
def bus_groups_connected_by_switches(net):

0 commit comments

Comments
 (0)