12710 lines
811 KiB
Plaintext
12710 lines
811 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "c930ce7b-e060-4021-b97c-192045f17122",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"%load_ext autoreload\n",
|
||
"%autoreload 2"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "6e1c76cc-6f99-484a-b73c-c99d9d567bbd",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "c0dab307-2c2c-41d2-9867-ec9ba82a8099",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import networkx as nx"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "629f2051-7ef0-4ce0-a5ad-86b292cc20af",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"edge_weighst = [\n",
|
||
" {'weight': 1},\n",
|
||
" {'weight': 2},\n",
|
||
" {'weight': 3},\n",
|
||
" {'weight': 4},\n",
|
||
" {'weight': 5},\n",
|
||
" {'weight': 6},\n",
|
||
"]\n",
|
||
"edges = [\n",
|
||
" (1, 2),\n",
|
||
" (1, 3),\n",
|
||
" (2, 4),\n",
|
||
" (3, 4),\n",
|
||
" (1, 4),\n",
|
||
" (2, 1),\n",
|
||
"]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "c4fd9997-1e41-49f1-b879-4b3a6571931d",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"edges_to_add = []\n",
|
||
"for i, edge in enumerate(edges):\n",
|
||
" edge = list(edge)\n",
|
||
" edge.append(edge_weighst[i])\n",
|
||
" edges_to_add.append(tuple(edge))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "bdf1c8d2-1093-420e-91fa-e2edd0cd72f1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"[(1, 2, {'weight': 1}),\n",
|
||
" (1, 3, {'weight': 2}),\n",
|
||
" (2, 4, {'weight': 3}),\n",
|
||
" (3, 4, {'weight': 4}),\n",
|
||
" (1, 4, {'weight': 5}),\n",
|
||
" (2, 1, {'weight': 6})]"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"edges_to_add"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "d017b2bc-9cd3-4124-afed-c6eabc07a540",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"G = nx.DiGraph()\n",
|
||
"G.add_edges_from(edges_to_add)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "91d4094b-f886-4056-a697-5223f157f1d3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"tk = graphs.TokenGraph()\n",
|
||
"tk.add_edges_from(edges_to_add)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "518cada9-561a-4b96-b750-3d500d1d28b9",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from lang_main.analysis import graphs"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "3235f188-6e99-4855-aa3d-b0e04e3db319",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'num_nodes': 4,\n",
|
||
" 'num_edges': 6,\n",
|
||
" 'min_edge_weight': 1,\n",
|
||
" 'max_edge_weight': 6,\n",
|
||
" 'node_memory': 112,\n",
|
||
" 'edge_memory': 336,\n",
|
||
" 'total_memory': 448}"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"graphs.get_graph_metadata(G)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "ca2ce8e8-d72a-4edf-ae42-0f79bd9d19a2",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 38,
|
||
"id": "223dc592-fa56-4536-a5c2-a166001a6aca",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>1</th>\n",
|
||
" <th>2</th>\n",
|
||
" <th>3</th>\n",
|
||
" <th>4</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>6.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" 1 2 3 4\n",
|
||
"1 0.0 1.0 2.0 5.0\n",
|
||
"2 6.0 0.0 0.0 3.0\n",
|
||
"3 0.0 0.0 0.0 4.0\n",
|
||
"4 0.0 0.0 0.0 0.0"
|
||
]
|
||
},
|
||
"execution_count": 38,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"nx.to_pandas_adjacency(G)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 47,
|
||
"id": "1f677da0-7416-413c-adb1-ae1384e09349",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"G_undir = graphs.convert_graph_to_undirected(G, cast_int=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 48,
|
||
"id": "356862fb-2383-43d9-80ba-4fe83646c9d9",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>1</th>\n",
|
||
" <th>2</th>\n",
|
||
" <th>3</th>\n",
|
||
" <th>4</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>5.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>7.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>5.0</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" <td>4.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" 1 2 3 4\n",
|
||
"1 0.0 7.0 2.0 5.0\n",
|
||
"2 7.0 0.0 0.0 3.0\n",
|
||
"3 2.0 0.0 0.0 4.0\n",
|
||
"4 5.0 3.0 4.0 0.0"
|
||
]
|
||
},
|
||
"execution_count": 48,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"nx.to_pandas_adjacency(G_undir)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 44,
|
||
"id": "b8a3db1a-0d2a-4635-ab88-7802e2cf59e4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"False"
|
||
]
|
||
},
|
||
"execution_count": 44,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"G_undir.is_directed()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 49,
|
||
"id": "46001528-75b0-4fe8-a3ec-353bbd3eeeff",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'weight': 7.0}"
|
||
]
|
||
},
|
||
"execution_count": 49,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"G_undir[1][2]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 50,
|
||
"id": "cf2dcdff-f0b7-416e-9db3-c7a21ea96b96",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"([{'data': {'id': 1, 'label': 1}},\n",
|
||
" {'data': {'id': 2, 'label': 2}},\n",
|
||
" {'data': {'id': 3, 'label': 3}},\n",
|
||
" {'data': {'id': 4, 'label': 4}},\n",
|
||
" {'data': {'source': 1, 'target': 2, 'weight': 1}},\n",
|
||
" {'data': {'source': 1, 'target': 3, 'weight': 2}},\n",
|
||
" {'data': {'source': 1, 'target': 4, 'weight': 5}},\n",
|
||
" {'data': {'source': 2, 'target': 4, 'weight': 3}},\n",
|
||
" {'data': {'source': 2, 'target': 1, 'weight': 6}},\n",
|
||
" {'data': {'source': 3, 'target': 4, 'weight': 4}}],\n",
|
||
" {'min': 1, 'max': 6})"
|
||
]
|
||
},
|
||
"execution_count": 50,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"graphs.convert_graph_to_cytoscape(G)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "f82481e9-873f-4657-80d3-ba75af74fa27",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"TokenGraph(name: TokenGraph, number of nodes: 4, number of edges: 6)"
|
||
]
|
||
},
|
||
"execution_count": 11,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"tk.update_metadata()\n",
|
||
"tk"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 54,
|
||
"id": "4b806620-b469-45ef-823b-db46f8590509",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"[(1, 4), (2, 3), (3, 2), (4, 3)]"
|
||
]
|
||
},
|
||
"execution_count": 54,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"list(G.degree)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 53,
|
||
"id": "2a41d019-1b6b-46f7-b13e-ac22da737940",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"4"
|
||
]
|
||
},
|
||
"execution_count": 53,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"G.degree[1]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "e99f2fb4-4c8d-4564-810d-a4b2ed9d6009",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"[(1, 4), (2, 3), (3, 2), (4, 3)]"
|
||
]
|
||
},
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"list(tk.degree)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "1368ebf6-e008-492d-8d15-fe3ed12b78a3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"g_filt = graphs.filter_graph_by_node_degree(\n",
|
||
" tk,\n",
|
||
" bound_lower=3,\n",
|
||
" bound_upper=3,\n",
|
||
" )"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"id": "de69f73e-da1d-4479-81da-006f2ce61844",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"TokenGraph(name: TokenGraph, number of nodes: 2, number of edges: 1)"
|
||
]
|
||
},
|
||
"execution_count": 16,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"g_filt"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "b12fd64d-737e-4c68-94ea-72a817647a04",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"[2, 4]"
|
||
]
|
||
},
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"list(g_filt.nodes)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"id": "21434c7c-887c-4f9f-884a-48514e2279e0",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"G = nx.DiGraph()\n",
|
||
"G.add_edges_from(edges_to_add)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"id": "2defef69-f09a-4869-984a-27b6373b17b9",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'weight': 1}"
|
||
]
|
||
},
|
||
"execution_count": 19,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"G[1][2]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"id": "0308a2ac-f554-4e24-9ddb-578dd588f3c8",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"5"
|
||
]
|
||
},
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"len(G.edges)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "15d9ce65-f9a5-40de-a737-098579f6a8ee",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "7acf4be7-45f3-45e6-87f5-14343f23d610",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "9139812b-74ba-45ce-adfc-e57667259692",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Loaded TOML config file successfully.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from lang_main import search_iterative, search_base_path\n",
|
||
"from pathlib import Path"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "35118922-3a17-4698-93bc-5292a276a4b4",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from lang_main import constants"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "341299bf-e926-4e55-8545-8805a186f49c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"WindowsPath('A:/Arbeitsaufgaben/lang-models')"
|
||
]
|
||
},
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"constants.MODEL_BASE_FOLDER"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "11ce4062-b229-4d88-967d-6eeb6d0135b7",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from sentence_transformers import SentenceTransformer"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "40dac543-1e53-4fd8-a192-88f3527872b2",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"model_kwargs = {\n",
|
||
" 'file_name': 'onnx/model_quint8_avx2.onnx',\n",
|
||
" 'provider': 'CPUExecutionProvider',\n",
|
||
" 'export': False,\n",
|
||
"}"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "8a0eaa9f-e2d2-4106-b80b-80916e9d8bfe",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"The ONNX file model_quint8_avx2.onnx is not a regular name used in optimum.onnxruntime, the ORTModel might not behave as expected.\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "215b46e3607e4530b2d8f8227367ef23",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"model_quint8_avx2.onnx: 0%| | 0.00/23.0M [00:00<?, ?B/s]"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\huggingface_hub\\file_download.py:139: UserWarning: `huggingface_hub` cache-system uses symlinks by default to efficiently store duplicated files but your machine does not support them in A:\\Arbeitsaufgaben\\lang-models\\models--sentence-transformers--all-MiniLM-L6-v2. Caching files will still work but in a degraded version that might require more space on your disk. This warning can be disabled by setting the `HF_HUB_DISABLE_SYMLINKS_WARNING` environment variable. For more details, see https://huggingface.co/docs/huggingface_hub/how-to-cache#limitations.\n",
|
||
"To support symlinks on Windows, you either need to activate Developer Mode or to run Python as an administrator. In order to activate developer mode, see this article: https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development\n",
|
||
" warnings.warn(message)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"stfr = SentenceTransformer('all-MiniLM-L6-v2', similarity_fn_name='cosine', backend='onnx', model_kwargs=model_kwargs)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "cd921aca-0673-41ec-98a3-18e360a39a41",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from lang_main.constants import SPACY_MODEL_NAME"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "88173a68-7d8e-4f4c-a4ad-bbf78efaf781",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import importlib"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "e5293976-22ab-406a-ba32-066fd7254394",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"mod = importlib.import_module(SPACY_MODEL_NAME)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "6023a339-02da-429c-acf5-f14a56989357",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<module 'de_dep_news_trf' from 'A:\\\\Arbeitsaufgaben\\\\lang-main\\\\.venv\\\\Lib\\\\site-packages\\\\de_dep_news_trf\\\\__init__.py'>"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"mod"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "5f4fa066-fa0f-4818-9cf9-ec28923150ba",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Loaded TOML config file successfully.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from lang_main.analysis.shared import clean_string_slim"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "71286836-7eb2-4095-ab82-42d7ac7ed476",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"string = 'Ölleckage durch\\nundichten \\t Ölsumpf,, aber Dichtung intakt??!!!'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "e8284e76-e750-458e-bb63-d59d6d57a396",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Ölleckage durch\n",
|
||
"undichten \t Ölsumpf,, aber Dichtung intakt??!!!\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print(string)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "82e98d8f-2e24-42f9-a3ed-3b3454ae64f4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Ölleckage durch undichten Ölsumpf, aber Dichtung intakt!'"
|
||
]
|
||
},
|
||
"execution_count": 13,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"clean_string_slim(string)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "b527b145-15d2-4961-b441-1843fe9f5c29",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "49c2e2f0-1e6d-4969-b583-8fc15b8930f9",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import re"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"id": "16ae5d5c-a0a7-400b-8e38-231c72ad27b5",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"pattern_dates = re.compile(r'(\\d{1,2}\\.)?(\\d{1,2}\\.)?([\\d]{2,4})?')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"id": "3b9fe636-f895-404a-819d-61198d34262d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Am war ich essen. Am hingegen nicht. Und war ich allein.'"
|
||
]
|
||
},
|
||
"execution_count": 29,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"string = 'Am 11.02.2024 war ich essen. Am 11.12. hingegen nicht. Und 2024 war ich allein.'\n",
|
||
"string = pattern_dates.sub('', string)\n",
|
||
"string"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "7c49ab3c-e860-42af-ac0c-2f44f075e846",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "f34b343b-a7b6-4a6d-8db4-7f2f71addc54",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from importlib.util import find_spec"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "59c32d49-5bad-4f48-b91f-f069487ff543",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"importlib.util.find_spec('nunpy')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"id": "dd3d9434-374d-42a4-9c08-230495d0f5a6",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"_has_dash: bool = True if (find_spec('dash') and find_spec('kalido')) else False"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "4da22bea-d086-4097-86f6-37784b59e02b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"False"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"_has_dash"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "dfc51145-759e-43ee-a850-580149679c5b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"False"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"_has_py4cyto"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "dbdbc7c1-4dd6-49d6-b570-3fc7eb60938f",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"id": "36aa5c9c-c29a-4a05-8854-30b086a9240e",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from pathlib import Path"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"id": "b8afbf49-e61c-49ce-af53-694b01f90702",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"curr_path = Path.cwd()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"id": "c353967a-2702-4370-b4f2-914ac3b950a3",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"[]"
|
||
]
|
||
},
|
||
"execution_count": 28,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"list(curr_path.glob('./lang_main_consdfig.toml'))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"id": "48ee9b11-60fa-43d4-87de-c9a2172a563b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"pkg_dir = curr_path"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 36,
|
||
"id": "02d404e1-a352-44f6-a4e9-96b6aed0c3a3",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"WindowsPath('A:/Arbeitsaufgaben/lang-main/notebooks')"
|
||
]
|
||
},
|
||
"execution_count": 36,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"pkg_dir"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 44,
|
||
"id": "fc9142c2-9e59-4113-811c-7a03068857f2",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"[WindowsPath('A:/Arbeitsaufgaben/lang-main/notebooks'),\n",
|
||
" WindowsPath('A:/Arbeitsaufgaben/lang-main'),\n",
|
||
" WindowsPath('A:/Arbeitsaufgaben'),\n",
|
||
" WindowsPath('A:/')]"
|
||
]
|
||
},
|
||
"execution_count": 44,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"list((pkg_dir/'home.py').parents)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 40,
|
||
"id": "ac1312bf-332f-4008-8951-c53e35f37990",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"cfg_found = False\n",
|
||
"for it in range(len(pkg_dir.parents)):\n",
|
||
" search_path = pkg_dir.parents[it]\n",
|
||
" res = tuple(search_path.glob(f'lang_main*.toml'))\n",
|
||
" if res:\n",
|
||
" cfg_found = True\n",
|
||
" target = res[0]\n",
|
||
" break\n",
|
||
" if search_path.name == 'python':\n",
|
||
" break"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 41,
|
||
"id": "a9bb96cc-f8a7-4749-ae2b-62e363d18f54",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"True"
|
||
]
|
||
},
|
||
"execution_count": 41,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"cfg_found"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"id": "58472aba-e887-4c50-857a-894c1c5c9003",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"WindowsPath('A:/Arbeitsaufgaben/lang-main/lang_main_config.toml')"
|
||
]
|
||
},
|
||
"execution_count": 30,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"target"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "d46b6ce8-b51b-49e0-b494-fc24fda0f73f",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import py4cytoscape as p4c"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "6fde72d3-b95b-4d37-be71-a7d3661dd3f5",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"You are connected to Cytoscape!\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'You are connected to Cytoscape!'"
|
||
]
|
||
},
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.cytoscape_ping()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "186c3c83-a34d-46cd-85b3-4db66a72ccf8",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['v1']"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.cytoscape_api_versions()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "db862248-47fe-43e3-82bf-9484d321a7ea",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'apiVersion': 'v1',\n",
|
||
" 'cytoscapeVersion': '3.10.2',\n",
|
||
" 'automationAPIVersion': '1.9.0',\n",
|
||
" 'py4cytoscapeVersion': '1.9.0'}"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.cytoscape_version_info()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "187ced81-6304-49bd-afc7-c18e656bc9a3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "af118d77-d87a-4687-be5b-e810a24c403e",
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\transformers\\utils\\generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n",
|
||
" _torch_pytree._register_pytree_node(\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-09-12 12:20:04 +0000 | lang_main:io:INFO | Loaded TOML config file successfully.\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\huggingface_hub\\file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
|
||
" warnings.warn(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\transformers\\utils\\generic.py:309: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n",
|
||
" _torch_pytree._register_pytree_node(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\transformers\\utils\\generic.py:309: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n",
|
||
" _torch_pytree._register_pytree_node(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\huggingface_hub\\file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
|
||
" warnings.warn(\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from lang_main import io\n",
|
||
"from lang_main.analysis.graphs import rescale_edge_weights, get_graph_metadata\n",
|
||
"from lang_main import model_loader\n",
|
||
"from lang_main.types import LanguageModels\n",
|
||
"from lang_main.constants import MODEL_LOADER_MAP\n",
|
||
"import lang_main.pipelines.predefined as pipes\n",
|
||
"import lang_main.render.cytoscape as cyto\n",
|
||
"from lang_main.analysis import graphs\n",
|
||
"\n",
|
||
"from pathlib import Path\n",
|
||
"import pickle\n",
|
||
"import base64\n",
|
||
"import os\n",
|
||
"from logging import NullHandler\n",
|
||
"import time\n",
|
||
"\n",
|
||
"import numpy as np\n",
|
||
"import networkx as nx\n",
|
||
"\n",
|
||
"import py4cytoscape as p4c\n",
|
||
"#import py4cytoscape.py4cytoscape_logger_settings as p4c_logging\n",
|
||
"#p4c.set_summary_logger(False)\n",
|
||
"#p4c_logging._SUMMARY_LOG_LEVEL = 'ERROR'\n",
|
||
"# p4c_logging._DETAIL_LOG_LEVEL = 'ERROR'\n",
|
||
"#p4c.py4cytoscape_logger.detail_logger.setLevel('ERROR')\n",
|
||
"#p4c.py4cytoscape_logger.detail_logger.removeHandler(p4c.py4cytoscape_logger.detail_handler)\n",
|
||
"#p4c.py4cytoscape_logger.detail_logger.addHandler(NullHandler())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"id": "59cbcf38-6fe1-403b-9c10-f107e28185f0",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"results = r'A:\\Arbeitsaufgaben\\lang-main\\scripts\\results\\test_20240807'\n",
|
||
"p_res = Path(results)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 26,
|
||
"id": "a34650ae-286f-4539-97d1-98dbecd0dafc",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"prefilter = 'TK-GRAPH_POSTPROCESSING.pkl'\n",
|
||
"postfilter = 'TK-GRAPH_ANALYSIS.pkl'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"id": "313bd956-fc32-4425-9c47-daad3622528b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"p_pre = p_res / prefilter\n",
|
||
"p_post = p_res / postfilter"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"id": "b745044b-6152-4c69-8fab-016731d57532",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"assert p_pre.exists()\n",
|
||
"assert p_post.exists()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"id": "7bd52a09-0114-4514-905f-d01d357c6a60",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-09-12 12:33:10 +0000 | lang_main:io:INFO | Loaded file successfully.\n",
|
||
"2024-09-12 12:33:10 +0000 | lang_main:io:INFO | Loaded file successfully.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"res_pre = io.load_pickle(p_pre)\n",
|
||
"res_post = io.load_pickle(p_post)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"id": "a2a9be43-9ca6-4410-93bf-1e528a8ce8b6",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"tkg_pre = res_pre[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"id": "7255a466-b421-465b-92a6-27a5e135e083",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"tkg_post = res_post[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"id": "dc259aab-ca18-4ab0-bcd0-0d9779c17f2c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"TokenGraph(name: TokenGraph, number of nodes: 7024, number of edges: 25600)\n",
|
||
"TokenGraph(name: TokenGraph, number of nodes: 227, number of edges: 330)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print(tkg_pre)\n",
|
||
"print(tkg_post)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"id": "2faca328-80bb-4e49-be79-6c480c6ef0c6",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"TokenGraph(name: TokenGraph, number of nodes: 351, number of edges: 603)"
|
||
]
|
||
},
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"BOUND = 30\n",
|
||
"tkg_filt = graphs.filter_graph_by_edge_weight(tkg_pre, bound_lower=BOUND, bound_upper=None)\n",
|
||
"tkg_filt = graphs.filter_graph_by_node_degree(tkg_filt, bound_lower=1, bound_upper=None)\n",
|
||
"tkg_filt"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"id": "2fc9c0d6-06d6-4716-821c-1e213d72eb38",
|
||
"metadata": {
|
||
"jupyter": {
|
||
"source_hidden": true
|
||
},
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"You are connected to Cytoscape!\n",
|
||
"Applying default style...\n",
|
||
"Applying preferred layout\n",
|
||
"Exec time whole was 9.541292 sec\n",
|
||
"Exec time import was 1.265542 sec\n",
|
||
"Exec time layout was 3.962870 sec\n",
|
||
"Exec time style was 4.312881 sec\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"t1 = time.perf_counter_ns()\n",
|
||
"cyto.import_to_cytoscape(tkg_filt)\n",
|
||
"t2 = time.perf_counter_ns()\n",
|
||
"cyto.layout_network()\n",
|
||
"t3 = time.perf_counter_ns()\n",
|
||
"cyto.apply_style_to_network()\n",
|
||
"t4 = time.perf_counter_ns()\n",
|
||
"exec_time_whole = (t4 - t1) * 1e-9\n",
|
||
"exec_time_import = (t2 - t1) * 1e-9\n",
|
||
"exec_time_layout = (t3 - t2) * 1e-9\n",
|
||
"exec_time_style = (t4 - t3) * 1e-9\n",
|
||
"print(f'Exec time whole was {exec_time_whole:.6f} sec')\n",
|
||
"print(f'Exec time import was {exec_time_import:.6f} sec')\n",
|
||
"print(f'Exec time layout was {exec_time_layout:.6f} sec')\n",
|
||
"print(f'Exec time style was {exec_time_style:.6f} sec')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"id": "a68a0fb9-8cfe-4b27-9eb8-6c4895ae3f40",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"render_pipe = pipes.build_tk_graph_render_pipe(with_subgraphs=True, export_folder=Path.cwd())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"id": "f7fc4e3b-7470-4050-92d9-57cbc0f27f69",
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-09-12 12:21:28 +0000 | lang_main:base:INFO | Starting pipeline >>Graph_Static-Rendering<<...\n",
|
||
"You are connected to Cytoscape!\n",
|
||
"Applying default style...\n",
|
||
"Applying preferred layout\n",
|
||
"No nodes selected.\n",
|
||
"No nodes selected.\n",
|
||
"No nodes selected.\n",
|
||
"No nodes selected.\n",
|
||
"2024-09-12 12:21:42 +0000 | lang_main:io:INFO | Saved file successfully under A:\\Arbeitsaufgaben\\lang-main\\notebooks\\results\\Pipe-Graph_Static-Rendering_Step-6_build_subnetworks.pkl\n",
|
||
"2024-09-12 12:21:42 +0000 | lang_main:base:INFO | Processing pipeline >>Graph_Static-Rendering<< successfully ended after 6 steps.\n",
|
||
"Exec time whole was 13.943395 sec\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"t1 = time.perf_counter_ns()\n",
|
||
"render_pipe.run((tkg_filt,))\n",
|
||
"t2 = time.perf_counter_ns()\n",
|
||
"exec_time_whole = (t2 - t1) * 1e-9\n",
|
||
"print(f'Exec time whole was {exec_time_whole:.6f} sec')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "46c18cbc-b7b7-427e-8001-f1db5a9679d3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "f042d3d9-ea84-4b7e-baba-1d9f6e261277",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"import seaborn as sns\n",
|
||
"sns.set()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "f2e8f841-d577-4b98-8f72-dee9c908264b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"record1 = [\n",
|
||
" 168, 203, 262, 351, 465, 726, 1122,\n",
|
||
" 1368, 1709, 2928\n",
|
||
"]\n",
|
||
"record2 = [\n",
|
||
" 225, 293, 405, 603, 857,\n",
|
||
" 1317, 2191, 2802, 3765, 7149\n",
|
||
"]\n",
|
||
"record3 = [\n",
|
||
" 12.94, 12.96, 13.55, 14.45, 15.39,\n",
|
||
" 17.64, 22.90, 26.95, 33.82, 61.75\n",
|
||
"]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "ab400322-4d3e-4502-88fe-d3c68a97d8a4",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"data = {\n",
|
||
" 'nodes_num': record1,\n",
|
||
" 'edges_num': record2,\n",
|
||
" 'time_sec': record3,\n",
|
||
"}"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "459f5450-167c-430c-bded-e47c33073584",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>nodes_num</th>\n",
|
||
" <th>edges_num</th>\n",
|
||
" <th>time_sec</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>168</td>\n",
|
||
" <td>225</td>\n",
|
||
" <td>12.94</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>203</td>\n",
|
||
" <td>293</td>\n",
|
||
" <td>12.96</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>262</td>\n",
|
||
" <td>405</td>\n",
|
||
" <td>13.55</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>351</td>\n",
|
||
" <td>603</td>\n",
|
||
" <td>14.45</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>465</td>\n",
|
||
" <td>857</td>\n",
|
||
" <td>15.39</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>5</th>\n",
|
||
" <td>726</td>\n",
|
||
" <td>1317</td>\n",
|
||
" <td>17.64</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>6</th>\n",
|
||
" <td>1122</td>\n",
|
||
" <td>2191</td>\n",
|
||
" <td>22.90</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7</th>\n",
|
||
" <td>1368</td>\n",
|
||
" <td>2802</td>\n",
|
||
" <td>26.95</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>8</th>\n",
|
||
" <td>1709</td>\n",
|
||
" <td>3765</td>\n",
|
||
" <td>33.82</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>9</th>\n",
|
||
" <td>2928</td>\n",
|
||
" <td>7149</td>\n",
|
||
" <td>61.75</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" nodes_num edges_num time_sec\n",
|
||
"0 168 225 12.94\n",
|
||
"1 203 293 12.96\n",
|
||
"2 262 405 13.55\n",
|
||
"3 351 603 14.45\n",
|
||
"4 465 857 15.39\n",
|
||
"5 726 1317 17.64\n",
|
||
"6 1122 2191 22.90\n",
|
||
"7 1368 2802 26.95\n",
|
||
"8 1709 3765 33.82\n",
|
||
"9 2928 7149 61.75"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df = pd.DataFrame.from_dict(data)\n",
|
||
"df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "cf445f6c-1d52-4f2a-81df-aa1b1b7bf7cb",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<Axes: xlabel='nodes_num', ylabel='time_sec'>"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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VPXr109t27ZV7969tW7dOq/tCwoKNG3aNHXp0kUJCQkaO3assrKyvNapaB81QUV9HDp0aJn34s/fr/TxnFOnTumPf/yjkpKSlJCQoIceekgHDx70jFebz0YD29qwYYNp06aNOXHihDl58qTnJy8vz2RlZZnOnTubSZMmmQMHDphVq1aZNm3amFWrVnm2nzt3runcubP5+9//bvbs2WOGDRtmevXqZQoKCgL4qqrG8uXLzbXXXmsGDRrkWWZFzy5kHzVJeX00xpg777zTzJkzx+t9eerUKc84fTRm6NChpk+fPmbbtm3m0KFDZtq0aSY+Pt4cPHjQHDhwwLRp08bMmTPHHDhwwCxatMhcd911ZtOmTZ7tJ06caHr27Gm2bdtmdu7caX73u9+ZgQMHesYvZB81wfn6aIwxXbp0MStWrPB6L2ZnZ3u2p4/nDBgwwNx1111m586d5sCBA+bhhx823bp1M7m5udXqs5HQY2MLFy40t99+e7lj8+fPN926dTNFRUWeZbNnzza9evUyxhhTUFBgEhISzNtvv+0Z//HHH018fLxZu3btxS08gI4fP25GjBhh2rVrZ3r37u31y9qKnlW0j5rifH0sKSkx7dq1M59++mm529JHY44cOWJiY2NNWlqaZ1lJSYnp2bOneemll8yUKVPMnXfe6bVNSkqKGTZsmDHmXP+vvfZas2HDBs/4oUOHTGxsrPniiy+MMabCfdQEFfUxMzPTxMbGmm+++abc7enjOadPnzYpKSlm3759nmV79uwxsbGxZufOndXqs5HDWza2b98+xcTElDuWlpamTp06yeVyeZYlJSXpyJEjyszM1N69e3X27Fl16dLFMx4VFaXrrrtO27Ztu+i1B8o333yj0NBQ/fWvf1Xbtm29xqzoWUX7qCnO18dvv/1Wubm5atasWbnb0kcpOjpaCxcuVJs2bTzLHA6HHA6HcnJylJaW5tUf6dzr3759u4wx2r59u2dZqaZNm6px48ZePTzfPmqCivq4b98+ORwONW3atNzt6eM5devW1ezZsxUbGytJysrK0pIlS9SkSRM1b968Wn02EnpsLD09XVlZWRo4cKCuv/563XPPPfrHP/4hSTp+/LiaNGnitX6jRo0kSceOHdPx48clSZdddlmZdUrHaqLk5GTNnTtXV155ZZkxK3pW0T5qivP1MT09XZK0bNkyJScn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RzVr1iydOHHC63mmTp2qV155RXfccYfmz5+v3r1765lnntFrr70m6VwoGjFihPLy8vTCCy9o3rx5uvTSSzVy5EgdPXq00q9r3Lhxat++vebPn68+ffpo0aJF+stf/lLp/Xz44YdKTU3VjBkzNHnyZKWmpmrQoEFaunSpJkyYoOnTp2vnzp2aPn16pfcNwH+uQBcAIHhERUVp3rx5cjqdks7NtsydO1fZ2dmaNWuWunXrptmzZ3vWT0xM1K233qrFixdr/PjxWrJkidxutxYuXKh69epJkpo2baq7777bs83hw4e1cuVKpaSk6KGHHpIkdevWTQ6HQwsWLNC9996r4uJiHTp0SKNGjdINN9wgSYqPj9err76qwsLCSr+uu+66S6NHj5YkdenSRevXr9eGDRv0+9//vlL7KS4u1quvvqq6detKkj799FP985//1Pr163XllVdKkr788kt98MEHla4RgP+Y6QFwwdq0aeMJPJLUpEkTSdL+/fuVkZGhPn36eK1/1VVXKSEhQVu3bpUkbd++Xe3atfMEHklq27atLr/8cs/jzZs3yxij5ORkFRcXe36Sk5NVUFCg7du3q0GDBmrevLmmTJmiCRMmaO3atSopKdGkSZPUokWLSr+uhIQEr8dNmjRRbm5upfcTExPjCTyS1KBBA0VHR3sCjyRdeuml+umnnyq9bwD+Y6YHwAULDw/3ehwScu7/m0qDUIMGDcps06BBA+3evVuS9OOPP+qKK64os07Dhg09fz99+rQk6bbbbiu3hhMnTsjhcOiNN97Q66+/rs8++0zvv/++QkND1bNnT02bNs0reFyIsLCwMq/LGFOpfUhSnTp1yiyLiIio9H4AXByEHgB+u/TSSyVJmZmZZcYyMjIUHR0tSYqOji53ndKgI507hCZJb731liIjI8usWzor1LhxY02dOlVPPfWU9u7dq48//lj/8z//o+joaD311FP+viQPh8MhSZ4Tm0v5MhMEILA4vAXAb7Vq1VLDhg314Ycfei3/7rvv9OWXXyoxMVGSlJSUpB07dniduHzgwAF99913nscdOnSQJGVnZ6tNmzaen6ysLL388ss6ffq0duzYoeuvv167du2Sw+FQy5Yt9fjjjys2Nlb//ve/LX1tpbM3P6+5qKhIu3btsvR5AFx8zPQA8JvD4VBKSoomTZqksWPH6o477lB2drbnpN6hQ4dKkoYMGaJVq1Zp+PDhevjhh+V2u/Xiiy8qNDTUs6+4uDjdcccdmjJlin744Qe1bt1ahw8f1osvvqgrrrhC11xzjYqLixUWFqbx48fr4YcfVoMGDbRp0ybt2bNH9913n6WvrW7dukpISNCyZct09dVXq27dulq6dKny8/M5dAUEGUIPAEv069dPkZGRWrBggUaPHq06deqoe/fuSklJ8ZyzEx0drXfeeUczZszQxIkTFRkZqQceeEAfffSR176effZZLViwQO+++66OHz+u+vXr69Zbb9Vjjz0mp9Mpp9OpN954Q7Nnz9aMGTOUk5Oja665RtOnT1e/fv0sf23PPfecnn76aT3xxBOqU6eO7rzzTrVv396ny9oBBI7D+HK2HgAAQJBhpgdAjeN2uyu8+srhcHhdfg+g5mOmB0CNk5ycrB9++OG863Tq1KnMrS0A1GyEHgA1zr59+yr8ZubIyEg1a9asiioCUB0QegAAgC3wPT0AAMAWCD0AAMAWCD0AAMAWCD0AAMAWCD0AAMAWCD0AAMAWCD0AAMAW/h8V1mSb3y5ZwgAAAABJRU5ErkJggg==",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"sns.scatterplot(data=df, x='nodes_num', y='time_sec')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "23d5d724-24eb-4f85-b195-b3c9e804f85a",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<Axes: xlabel='edges_num', ylabel='time_sec'>"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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uj8J3BijKVOmVLpys3//fj6SAQAA+E2138Tv5ptvljHG4zob12PXV0BAgDp16qQXX3yxVooFAACoSrVXbhISEpSQkCDp9MXFU6ZMUURERK0VBgAA4A2v3udm6dKlvq4DAADAJ7z6bCkAAID6inADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAspV6Em2PHjumJJ55Q9+7dFRcXpwceeEB79+51z2dmZmro0KHq1KmTEhIStGTJEj9WCwAA6rN6EW7Gjh2rAwcOaP78+Vq1apWCgoJ03333qaioSMePH9fw4cN1ySWXaPXq1Ro7dqxmzJih1atX+7tsAABQD3n1wZm+9PPPP+vCCy9UUlKSIiMjJUljxozRH//4R+3evVubNm1SYGCgpk2bJofDoYiICHcQGjRokJ+rBwAA9Y3fV26aN2+umTNnuoNNXl6eFi9erLZt26pdu3ZKT09X165d5XD8J4d1795d+/fvV25urr/KBgAA9ZTfV25+bfLkyfrggw/UpEkTvf322woJCdHhw4fdwceldevWkqRDhw6pZcuWXh3L4ag819ntAR5/Nkb0gB5I9MCFPtADiR5IDasH9Src3HvvvRo8eLCWL1+usWPHasWKFSouLlaTJk08tmvatKkk6dSpU14dJyDApvDw0DNuExYW7NW+rYQe0AOJHrjQB3og0QOpYfSgXoWbdu3aSZKmT5+u7du3a9myZQoKClJJSYnHdq5QExIS4tVxysuNCgoKK52z2wMUFhasgoIiOZ3lXu2/oaMH9ECiBy70gR5I9EDyfw/CwoKrvWrk93CTl5enTZs26eabb3ZfVxMQEKB27dopJydHbdu2VU5OjsdzXI/btGnj9XHLys78jXE6y6vcxuroAT2Q6IELfaAHEj2QGkYP/H7iLDc3V8nJydq0aZN7rLS0VBkZGYqIiFCXLl20detWOZ1O93xaWpouv/xytWjRwh8lAwCAeszv4SYyMlK9e/fWf/3Xf2nLli3atWuXnnzySRUUFOi+++7ToEGDdOLECT399NPas2ePUlNTtXjxYiUlJfm7dAAAUA/5PdxI0qxZs9SjRw899thjuuOOO5Sfn6/ly5frggsuUIsWLZSSkqLs7GwlJibqzTff1IQJE5SYmOjvsgEAQD1kM8YYfxdR15zOcuXl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7rHG0IMjR44oKiqqwperD42hB5K0Zs0a3XrrrYqOjlb//v310UcfuecOHjyopKQkxcfHq2fPnnr99dfldDo9nr98+XLdeOONiomJ0d13362MjAyP+ersw582b95c6c9BVFSUbrzxRkkW6YOBMcaYOXPmmG7dupl//vOfJjMz04wYMcL069fPnDp1yt+l1diyZctM+/btzdChQ91jeXl5plu3bmbSpElmz549ZtWqVSY6OtqsWrXKvU1VPanOPvxt+PDh5rbbbjNbtmwx+/btM1OnTjUxMTFm7969Zs+ePSY6OtrMmjXL7Nmzx6SkpJirr77abNy40f38J5980vTt29ds2bLFbN++3fzpT38yQ4YMcc9XZx/+NnjwYHPHHXeY7du3mz179piHHnrI9OzZ0xQWFjaanwOXkpISM3DgQBMZGWlWr15tjGk8vwsbNmww0dHR5siRIyYnJ8f9VVRU1Gh6sGbNGnP11VebZcuWmQMHDpi5c+ea9u3bm6+//tqUlJSYfv36mQceeMBkZWWZzz77zHTt2tXMnj3b/fzU1FQTExNjPvzwQ7N7927zxBNPmK5du5pjx44ZY0y19uFvp06d8vj+5+TkmE8//dRERUWZVatWWaYPhBtz+psdFxdnli9f7h77+eefTUxMjFm7dq0fK6uZw4cPm6SkJNOpUydzyy23eISbefPmmZ49e5rS0lL32MyZM02/fv2MMdXrSVX78Lf9+/ebyMhIk56e7h4rLy83ffv2Na+//rqZPHmy+fOf/+zxnOTkZDNixAhjzOn+tW/f3mzYsME9v2/fPhMZGWm+/vprY4ypch/+lp+fb5KTk01WVpZ7LDMz00RGRprt27c3ip+DX5s5c6a55557PMJNY+nB/PnzzYABAyqdaww9KC8vNzfccIN56aWXPMZHjBhh5s2bZ9auXWs6duxo8vPz3XPvv/++iY+Pdwe4fv36mVdeecU9X1paaq6//nozb948Y4yp1j7qm5MnT5obbrjBPPnkk8aY6r2GhtAHTktJ2rlzp06ePKkePXq4x8LCwnT11Vdry5YtfqysZr777jsFBgbqf/7nfxQbG+sxl56erq5du8rhcLjHunfvrv379ys3N7daPalqH/4WHh6u+fPnKzo62j1ms9lks9lUUFCg9PR0j9cnna5/69atMsZo69at7jGXyy+/XG3atPHowZn2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/xcFAAAA+BDhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBkCtOXjwoKKiopSamurvUgA0IoQbAABgKYQbAABgKYQbANX2t7/9Tf3791fHjh3Vp08fzZkzR06n0z3/6aef6vbbb1dMTIwSExO1c+fOCvvYu3ev7r//fsXHx+vaa6/Va6+9pkmTJmnYsGHubcrLyzV//nzddNNN6tixo26++WYtXbrUYz/ff/+9HnzwQXXr1k2xsbEaPHiwvvjii7N6PZs3b1ZUVJQ2bdqkESNGKDY2Vtddd51effVV9+v6vVNrTz75pBISEtyPhw0bpmeffVZz585Vr169FBsbq/vvv1+5ublavXq1brrpJsXFxem+++7TwYMHz6pOAGfH4e8CADQM77zzjl577TUNHTpUkyZNUmZmpubMmaNDhw7phRde0Oeff66HH35YAwYM0BNPPKHMzEw98cQTHvvIy8vT0KFD1aJFC7344otyOp2aPXu2fvrpJ3Xq1Mm93ZQpU5SamqqkpCTFxcVpy5YteuGFF1RQUKCxY8eqvLxcSUlJat26tV555RU5HA4tWbJEo0eP1kcffaRLL730rF7b+PHjdffdd+v+++/Xhg0blJKSoosvvlh/+ctfzmo/f//739WhQwdNnz5dhw8f1rRp0zR06FA1bdpUEydOVFFRkZ599llNmzZN8+fPP6t9A6g+wg2AKv3yyy+aO3euBg8erGeeeUaS1LNnT5177rl65plnNHz4cL311luKiYnRq6++Kknq1auXJGnmzJnu/SxdulQnT57UmjVr1KZNG0lSbGysbr75Zvc22dnZ+uCDD5ScnKwHHnjAfSybzaZ33nlHd999t8rKyrRv3z6NGTNG119/vSQpJiZGb775pkpKSs769d1xxx0aO3asJKlHjx5av369NmzYcNbhpqysTG+++aaaN28u6fRK1r///W+tX79eF198sSTpm2++0YcffnjWNQKoPk5LAajStm3bVFxcrISEBJWVlbm/XKdlPv/8c3333Xe64YYbPJ73hz/8weNxWlqa4uLi3MFGki688ELFxcV5bGOMqfRYp06d0tatW9WyZUu1a9dOkydP1sSJE7V27VqVl5dr0qRJuvLKK8/69f36+JLUtm1bFRYWnvV+IiIi3MFGklq2bKnw8HB3sJGkc889V7/88stZ7xtA9bFyA6BK+fn5kuReSfmtgwcPyhij8PBwj/HWrVt7PM7Ly1OHDh0qPL9ly5bKzc31OFb//v0rPdaRI0dks9m0cOFCvf322/rss8+0Zs0aBQYGqm/fvpo6dapHwKiOoKAgj8cBAQEyxpzVPiSpWbNmFcZCQkLOej8AaoZwA6BKYWFhkqQZM2bosssuqzDfsmVLrVq1yh1QXFxBxaVt27YVtpGkY8eOVTjWu+++q9DQ0ArbXnDBBZKkNm3aaMqUKXruuee0c+dOffzxx/rrX/+q8PBwPffcc2f1+s7EZrNJkseF05K8WtkBUDc4LQWgSrGxsQoMDNSRI0cUHR3t/nI4HJo1a5YOHjyouLg4ffrppx4rHp9//rnHfrp06aJvvvlGR48edY/l5OTom2++cT/u3LmzJOn48eMex8rLy9Ps2bOVn5+vbdu26dprr9WOHTtks9l01VVX6bHHHlNkZKR++uknn75212rMkSNH3GOlpaXasWOHT48DwHdYuQFQpfDwcI0aNUqzZ8/WiRMn1K1bNx05ckSzZ8+WzWZT+/btlZycrHvvvVfjxo3T4MGDlZ2drXnz5nns55577tHy5cs1cuRI9wW8c+fOVWlpqXuFJCoqSrfffrsmT56sH3/8UR07dlR2drZee+01XXTRRbrssstUVlamoKAgTZgwQQ899JBatmypjRs3KjMzU/fcc49PX3vz5s0VFxenpUuX6tJLL1Xz5s21ZMkSFRcXc8oJqKcINwCq5dFHH1WrVq20YsUKpaSkqHnz5urRo4eSk5N1zjnnqHPnzvrrX/+qWbNmady4cbrooov0wgsv6MEHH3TvIywsTEuWLNH06dM1YcIEhYaG6u6771ZwcLBHUHjxxRf1zjvv6P3339fhw4fVokUL3XrrrXr00Udlt9tlt9u1cOFCzZw5U9OnT1dBQYEuu+wyTZs2TQMHDvT5a3/ppZf0/PPP65lnnlGzZs305z//Wddcc43+9re/+fxYAGrOZry5ag4AvLB9+3bl5+e7b9+WTt8+3adPH/Xv31+TJk3yY3UArIKVGwB15qefftJjjz2msWPHqmvXrioqKtLKlSv1yy+/6M477/TZcZxOZ5V3O9lsNtntdp8dE0D9wcoNgDr13nvvacWKFfrhhx8UGBio2NhYPfLII4qOjvbZMRISEvTjjz+ecZuuXbtW+EgHANZAuAFgOVlZWVW+U3FoaKiuuOKKOqoIQF0i3AAAAEvhfW4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAICl/D8hDB2aD+8mSwAAAABJRU5ErkJggg==",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"sns.scatterplot(data=df, x='edges_num', y='time_sec')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"id": "5bba09eb-566d-4e27-b48e-3fa56e3a3aa0",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<Axes: xlabel='nodes_num', ylabel='edges_num'>"
|
||
]
|
||
},
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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5ioyMtJ7KwQAAPATbt0c3qFDBy1btkwFBQXauHGj+vTpI0n65ptv9Prrr6tDhw5eXSQAAIA/cOuM0+9//3tlZ2frueee07XXXqthw4ZJklJTU1VaWqoxY8Z4dZEAAAD+wK0zTtddd50+/PBDnT59Wg0aNHBunzdvnlq1asVzmwAAwBXJ7ec4WSwWBQUF6eOPP1ZOTo7uuusuRUZGKigoyJvrAwAA8BtuF6cFCxZo0aJFKi4ulsViUUJCgubMmaP8/HwtW7aMG8QBAMAVx617nFasWKG5c+cqJSVFq1evlvF/T70dOHCgjh07pldffdWriwQAAPAHbhWnt99+W0OHDtXTTz+t1q1bO7ffcccdeuaZZ/iYFQAAcEVyqzj99NNP6tSpU4VjzZs3V25urkeLAgAA8EduFafGjRtr165dFY598803aty4sUeLAgAA8Edu3Rz+wAMPaO7cuQoJCVH37t0lSYWFhdq4caMWLVqklJQUb64RAADAL7hVnIYMGaLjx48rLS1NaWlpkqTHHntMknTvvfcqNTXVeysEAADwE24VJ4vFomnTpiklJUVbt27V2bNnddVVVykpKUlxcXHeXiMAAIBfcPs5TpLUrFkzNWvWzFtrAQAA8GtuFadHH31UFoulwrGAgACFhYXp+uuv14MPPqjmzZt7tEAAAAB/4da76q677jrt3r3b+c66Bg0ayGKxaM+ePdqxY4fy8vL0/vvvq1+/fsrMzPTqggEAAHzFrTNO0dHRuuaaa7Rs2TJdc801zu05OTkaOnSobr/9dqWmpuqpp57SnDlztHjxYq8tGAAAwFfcOuO0du1aPf300y6lSZIaNmyoYcOGaeXKlQoMDFT//v21Z88erywUAADA19wqTkVFRQoKCqpwzGKx6MKFC5KksLAwlZaWur86AAAAP+JWcerQoYNeffXVch+tcvr0ac2bN0+JiYmSpO3bt6tp06aerxIAAMAPuHWP04QJEzRgwAD16NFDiYmJqlevnk6fPq3du3crPDxc6enp+uyzzzRv3jy98MILXl4yAACAb7h1xql58+b68MMPlZKSopKSEn377beSLj1R/KOPPlJsbKyuvvpqzZ49W/379/fqggEAAHzF7QdgRkVF6emnn/6v4wkJCUpISHB3egAAAL9jujitX7++ShPff//9VVwKAACAfzNdnMaPH+/yddmTww3D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qFahoaEuXwcEXPrvt7Iy1aBBg3LHNGjQQJmZmZKks2fPqkmTJuX2iY6Odv75zJkzkqR77rmnwjWcPHlSFotFy5Yt04IFC/SPf/xD69evV1BQkHr06KGpU6e6lBczQkJCyr0uwzCqNIckRURElNsWFhZW5XkA/DIoTgD8wtVXXy1Jys3NLTd26tQpRUVFSZKioqIq3KesLEmXLgdK0ptvvqnw8PBy+5adnWrUqJFeeOEFPf/888rKytJHH32kP/3pT4qKitLzzz/v6UtyslgskuS8WbyMO2ekAPgWl+oA+IXg4GBFR0fr/fffd9l+7Ngx7d69Wx06dJAkde7cWbt27XK5GfzgwYM6duyY8+uOHTtKkvLz89W2bVvnr7y8PL366qs6c+aMdu3apVtvvVV79+6VxWLRTTfdpGeffVZxcXH66aefvPrays4i/XzNFy9e1N69e7369wD45XHGCYBfsFgsGj16tCZMmKDnnntO9913n/Lz8503SqekpEiSHn/8cb377rt68sknNXLkSNntds2ePVtBQUHOueLj43Xfffdp8uTJ+vHHH9WmTRsdPnxYs2fPVpMmTXTDDTfIZrMpJCREY8eO1ciRI9WgQQP97//+r/bt26fHHnvMq6+tbt26SkxM1Ntvv63rr79edevW1VtvvaXi4mIuwwE1DMUJgN/o27evwsPDtWjRIo0YMUIRERHq1q2bRo8e7byHKSoqSn/+8581ffp0jR8/XuHh4Ro8eLA+/PBDl7lefvllLVq0SKtWrVJ2drbq16+vu+++W88884wCAwMVGBioZcuWadasWZo+fboKCgp0ww03aNq0aerbt6/XX9uMGTP04osvatKkSYqIiNADDzygm2++2a1HFgDwHYvhzt2LAAAAtRBnnACgAna7vdJ3xVksFpdHKwC48nHGCQAqkJycrB9//PGy+3Tq1Kncx7gAuLJRnACgAvv376/0CeLh4eFq3rx5Na0IgD+gOAEAAJjEc5wAAABMojgBAACYRHECAAAwieIEAABgEsUJAADAJIoTAACASRQnAAAAk/4/MEI7sh85oAcAAAAASUVORK5CYII=",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"sns.scatterplot(data=df, x='nodes_num', y='edges_num')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "ae655662-5c2e-47ec-8650-bb0146323bbc",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "77ebcddb-ad7a-45eb-bff7-d35c33ca4885",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import re"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 35,
|
||
"id": "37e5c62e-9148-41fc-b30e-bee3e41d58b9",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"pattern = r'[(]+'\n",
|
||
"patt = re.compile(pattern)\n",
|
||
"pattern = r'[)]+'\n",
|
||
"patt2 = re.compile(pattern)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 68,
|
||
"id": "4a621bdf-f825-4f67-8525-a3d74ef426a5",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"string = 'Test)1234 und anbei test2 (Änderung)'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 69,
|
||
"id": "2487ade7-3b03-4e19-a15d-d150145de822",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"string = patt.sub('\\(', string)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 71,
|
||
"id": "8e0dacf2-2a39-43ae-a1af-5484c4b1f12a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"string = patt2.sub('\\)', string)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 73,
|
||
"id": "99039e7c-efe5-460f-8e02-54b60e144649",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Test\\)1234 und anbei test2 \\(Änderung\\)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print(string)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "09416b7b-9dee-4517-adab-e9cfbb8c11d2",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "fe9ad00d-4c6e-4db9-8add-e0157cfcf18b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "e70111a8-3110-4445-beb3-0848ae199d15",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 108,
|
||
"id": "248d29c7-80a6-4854-8393-774e9ff4041c",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"cyto.layout_network()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 80,
|
||
"id": "8fb7a836-292d-446f-91cd-0168e6beb5b2",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"pre_c = tkg_pre.copy()\n",
|
||
"post_c = tkg_post.copy()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"id": "c5681f05-ce64-4ef0-b8f0-db85ea9bc74e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"92690"
|
||
]
|
||
},
|
||
"execution_count": 32,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"list(post_c.edges(data='weight'))[0][2]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 87,
|
||
"id": "8bee6e03-976d-4621-bc74-c67ff4713008",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"original = set(pre_c.edges(data='weight'))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 88,
|
||
"id": "8751ddbb-c050-4b06-adb5-d9999b2c779f",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"ret = sorted(original, key=lambda tup: tup[2], reverse=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 89,
|
||
"id": "54e01e8c-c56e-4a1b-b2b2-0f0250c31df2",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"25600"
|
||
]
|
||
},
|
||
"execution_count": 89,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"len(ret)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 90,
|
||
"id": "ed3506d5-52ea-4c44-a1b2-8ba651eef466",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"chosen = set(ret[:300])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 92,
|
||
"id": "c347381d-dd98-4b81-a0c7-7173b8bd20c1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"300"
|
||
]
|
||
},
|
||
"execution_count": 92,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"len(chosen)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 94,
|
||
"id": "33d07e9b-83ab-4794-81e1-472119786bcb",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"drop = original.difference(chosen)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 95,
|
||
"id": "b500a720-abe3-4a11-9038-bd52a294a704",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"25300"
|
||
]
|
||
},
|
||
"execution_count": 95,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"len(drop)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 96,
|
||
"id": "60e37ec4-1df5-407d-8c53-f61c29e13ac6",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"tkg_test = tkg_pre.copy()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 97,
|
||
"id": "4cbf8d58-60b2-4baa-aad1-a95a35b321b2",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"tkg_test.remove_edges_from(drop)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 99,
|
||
"id": "8a20a28a-0ccc-4baa-ba47-88bf93a40bfa",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"tkg_test = graphs.filter_graph_by_node_degree(tkg_test, bound_lower=1, bound_upper=None)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 100,
|
||
"id": "05355584-717e-4411-8c6a-6c42d98f6274",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"TokenGraph(name: TokenGraph, number of nodes: 210, number of edges: 300)"
|
||
]
|
||
},
|
||
"execution_count": 100,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"tkg_test"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 101,
|
||
"id": "b8be7c17-8011-408d-a3f9-49f799d43bdf",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"OutEdgeDataView([('Wartungstätigkeit', 'Vorgabe', 92690), ('Wartungstätigkeit', 'Maschinenhersteller', 92690), ('Wartungstätigkeit', 'Maschinenbediener', 242), ('Wartungstätigkeit', 'Laserabteilung', 242), ('Wartungstätigkeit', 'Arbeitsplan', 244), ('Wartungstätigkeit', 'abarbeiten', 242), ('Vorgabe', 'Maschinenhersteller', 92690), ('Vorgabe', 'PLEVA', 1369), ('Vorgabe', 'Wartungsplan', 2210), ('Vorgabe', 'sehen', 1905), ('Vorgabe', 'Extradatum', 1905), ('Vorgabe', 'Firma', 730), ('Vorgabe', 'Menzel', 712), ('Vorgabe', 'Vorbelegung', 527), ('Überprüfung', 'Ölabscheider', 1622), ('Überprüfung', 'Leiter', 504), ('Überprüfung', 'Kompensator', 200), ('Überprüfung', 'Verschleiß', 200), ('Überprüfung', 'Dichtigkeit', 212), ('Überprüfung', 'Akku', 165), ('Überprüfung', 'Kran', 90), ('Sichtkontrolle', 'Reinigung', 3450), ('Reinigung', 'Bedarf', 280), ('Reinigung', 'Sichtkontrolle', 239), ('Reinigung', 'Einrichtung', 239), ('Reinigung', 'Luftdruckkontrolle', 239), ('Kontrolle', 'WC-Anlage', 1265), ('Kontrolle', 'Stabbreithalter', 687), ('Kontrolle', 'Kompressorstation', 617), ('Kontrolle', 'Wasseraufbereitungsanlage', 521), ('Kontrolle', 'Heizungsanlage', 520), ('Kontrolle', 'Druckkontrolle', 487), ('Kontrolle', 'bar', 974), ('Kontrolle', 'Rieme', 198), ('Kontrolle', 'Erste-Hilfe-Koffer', 160), ('Kontrolle', 'orange', 160), ('Kontrolle', 'Gesamtanlage', 348), ('Kontrolle', 'Beschädigung', 398), ('Kontrolle', 'usw.', 398), ('Kontrolle', 'Feucht', 141), ('Kontrolle', 'Temperatursensor', 141), ('Kontrolle', 'Hilfe', 141), ('Kontrolle', 'Efficio-System', 141), ('Kontrolle', 'Pflasterschrank', 160), ('Kontrolle', 'Kühlturm', 132), ('Kontrolle', 'Reinigung', 257), ('Kontrolle', 'Schweißkopf', 107), ('Kontrolle', 'Verschleiß', 107), ('Kontrolle', 'prüfen', 107), ('Kontrolle', 'Auslassventil', 127), ('Kontrolle', 'Dampfzylinder', 127), ('Kontrolle', 'Verkalkung', 127), ('Druckkontrolle', 'bar', 974), ('machen', 'gegebenenfalls', 487), ('machen', 'Filter', 487), ('machen', 'sauber', 497), ('Analyse', 'Kesselwasser', 386), ('-', 'Speisewasser', 386), ('-', '-', 386), ('-', 'Kondensat', 386), ('überprüfen', 'Wasserverbrauch', 386), ('auffüllen', 'Desifektionsmittel', 303), ('auffüllen', 'Aschenbecher', 303), ('leeren', 'Aschenbecher', 303), ('Wartung', 'Toilette', 231), ('Wartung', 'Kühlturm', 198), ('Wartungsplan', 'PLEVA', 1369), ('Wartungsplan', 'Firma', 540), ('Wartungsplan', 'Menzel', 525), ('sehen', 'Extradatum', 1939), ('sehen', 'Arbeitsplan', 209), ('sehen', 'Vorbelegung', 533), ('Verschleiß', 'Dichtigkeit', 200), ('schmieren', 'Kontrolle', 198), ('schmieren', 'Rieme', 198), ('schmieren', 'Linearkugellager', 482), ('schmieren', 'neu', 185), ('Maschinenbediener', 'Laserabteilung', 242), ('abarbeiten', 'derzeit', 172), ('abarbeiten', 'Herr', 172), ('abarbeiten', 'Förster', 172), ('Stand', 'Stöppel', 1302), ('Stand', 'Binder', 150), ('Stand', 'KW', 90), ('Stand', 'Moser', 167), ('Stand', 'Termin', 93), ('Stand', 'Prüfung', 119), ('Stand', 'Herr', 161), ('-Leiterprüfung', 'Herr', 344), ('-Leiterprüfung', 'Buschmann', 172), ('-Leiterprüfung', 'derzeit', 172), ('-Leiterprüfung', 'Förster', 172), ('Herr', 'Buschmann', 380), ('Herr', 'derzeit', 175), ('Herr', 'Herr', 240), ('Herr', 'Förster', 695), ('Herr', 'Graf', 571), ('Herr', 'Sturm', 93), ('Herr', 'Stauner', 112), ('Buschmann', 'derzeit', 172), ('Buschmann', 'Herr', 172), ('Buschmann', 'Förster', 172), ('derzeit', 'Herr', 364), ('derzeit', 'Förster', 344), ('terminieren', 'Herr', 416), ('terminieren', 'Buschmann', 172), ('terminieren', 'Absprache', 108), ('reparieren', 'Leiter', 172), ('Prüfung', 'DGUV', 166), ('Prüfung', 'V3', 166), ('V3', 'DGUV', 166), ('Blombe', 'vorhanden', 160), ('Blombe', 'bitte', 160), ('Blombe', 'Ticket', 160), ('Blombe', 'Magazin', 160), ('Ticket', 'Magazin', 320), ('Ticket', 'Bedarf', 160), ('Ticket', 'Verbandsmaterial', 160), ('Ticket', 'bitte', 160), ('Küsters-Anlage', 'Anlage', 241), ('Küsters-Anlage', 'Leckage', 241), ('Küsters-Anlage', 'prüfen', 241), ('prüfen', 'Anlage', 591), ('prüfen', 'Leckage', 589), ('prüfen', 'Sitz', 163), ('prüfen', 'Befestigungsschraube', 132), ('prüfen', 'Verschleiß', 214), ('abschmieren', 'Lager', 241), ('Campen-Aufwickler', 'Linearkugellager', 241), ('Campen-Aufwickler', 'schmieren', 241), ('Campen-Abwickler', 'Linearkugellager', 241), ('Campen-Abwickler', 'schmieren', 241), ('Wumag-Trockner', 'Kontrolle', 241), ('Wumag-Trockner', 'Gesamtanlage', 241), ('Wumag-Trockner', 'Beschädigung', 241), ('Wumag-Trockner', 'usw.', 241), ('Gesamtanlage', 'Anlage', 107), ('Gesamtanlage', 'Leckage', 107), ('Gesamtanlage', 'prüfen', 107), ('Beschädigung', 'usw.', 398), ('Wasseraufbereitung', 'Anlage', 241), ('Wasseraufbereitung', 'Leckage', 241), ('Wasseraufbereitung', 'prüfen', 241), ('Leiterprüfung', 'derzeit', 153), ('Leiterprüfung', 'Arbeit', 153), ('Abteilungsleiter', 'Email', 153), ('Abteilungsleiter', 'Eigenverantwortlichkeit', 153), ('Abteilungsleiter', 'Mithilfe', 153), ('Abteilungsleiter', 'Herr', 155), ('Abteilungsleiter', 'Graf', 153), ('Email', 'Eigenverantwortlichkeit', 306), ('Email', 'Mithilfe', 306), ('Email', 'Herr', 306), ('Email', 'Graf', 306), ('Eigenverantwortlichkeit', 'Mithilfe', 459), ('Eigenverantwortlichkeit', 'Herr', 459), ('Eigenverantwortlichkeit', 'Graf', 459), ('Mithilfe', 'Herr', 306), ('Mithilfe', 'Graf', 306), ('informieren', 'Email', 154), ('informieren', 'Eigenverantwortlichkeit', 153), ('informieren', 'Mithilfe', 153), ('informieren', 'Herr', 171), ('informieren', 'Graf', 153), ('Feucht', 'Temperatursensor', 141), ('Hilfe', 'Efficio-System', 141), ('abgleichen', 'Messwert', 141), ('Bedarf', 'Verbandsmaterial', 160), ('Auflistung', 'Verbandsmaterial', 160), ('finden', 'Auflistung', 160), ('finden', 'Verbandsmaterial', 160), ('finden', 'Extradate', 160), ('finden', 'UTT', 160), ('finden', 'intern', 160), ('finden', 'Objekt', 160), ('Extradate', 'UTT', 160), ('Extradate', 'intern', 160), ('Extradate', 'Objekt', 160), ('UTT', 'intern', 160), ('UTT', 'Objekt', 160), ('Firma', 'Hawker', 165), ('Firma', 'Menzel', 712), ('Firma', 'MHM', 161), ('Abschmierung', 'Ventilator', 209), ('Abschmierung', 'Motor', 209), ('Ventilator', 'Motor', 221), ('Motor', 'ansonsten', 209), ('Motor', 'Bedarf', 209), ('durchführen', 'Monat', 209), ('Erledigungsdatum', 'Motor', 209), ('Erledigungsdatum', 'ansonsten', 209), ('Erledigungsdatum', 'Bedarf', 209), ('ansonsten', 'Bedarf', 209), ('anschreiben', 'Motor', 209), ('anschreiben', 'ansonsten', 209), ('anschreiben', 'Bedarf', 209), ('Wäscherkontrolle', 'Reinigung', 209), ('Wäscherkontrolle', 'Bedarf', 209), ('Wäscherkontrolle', 'Trommel', 209), ('Formplatte', 'Sitz', 107), ('Formplatte', 'Befestigungsschraube', 107), ('Formplatte', 'prüfen', 107), ('Sitz', 'Befestigungsschraube', 132), ('Gegendruckbolze', 'Verschleiß', 107), ('Gegendruckbolze', 'prüfen', 107), ('Schweißkopf', 'Verschleiß', 107), ('Schweißkopf', 'prüfen', 107), ('Karabulut', 'Sherif', 98), ('Leerung', 'Papiermüllbehälter', 106), ('Leerung', 'Keller', 106), ('Leerung', 'Personalbüro', 106), ('Keller', 'Personalbüro', 107), ('Verschmutzung', 'Fremdkörper', 164), ('Sicherstellung', 'Ausblasöffnung', 164), ('Indikator', 'Testomat', 133), ('Wartungsarbeit', 'sehen', 207), ('Wartungsarbeit', 'Arbeitsplan', 207), ('Vorbelegung', 'Extradatum', 527), ('Stehlagergehäus', 'SNI', 493), ('Stehlagergehäus', 'Nachschmieren', 493), ('Flanschlager', 'RIZ60', 493), ('Spannkopflager', 'TIU-60', 493), ('Inneneinheit', 'Kontrollieren', 127), ('Inneneinheit', 'Fileren', 127), ('Inneneinheit', 'Verschmutzung', 127), ('Kontrollieren', 'Fileren', 127), ('Kontrollieren', 'Verschmutzung', 127), ('Kontrollieren', 'Temperatur', 127), ('Kontrollieren', 'Feucht', 127), ('Außeneinheit', 'Luftansaugseite', 127), ('Außeneinheit', 'Sauberkeit', 127), ('Außeneinheit', 'Filter', 127), ('Außeneinheit', 'kontrollieren', 127), ('Luftansaugseite', 'Sauberkeit', 127), ('Luftansaugseite', 'Filter', 127), ('Luftansaugseite', 'kontrollieren', 127), ('Sauberkeit', 'Filter', 127), ('kontrollieren', 'Sauberkeit', 127), ('kontrollieren', 'Filter', 127), ('achten', 'Laufgeräusch', 127), ('Befeuchter', 'Kontrollieren', 127), ('Befeuchter', 'Feucht', 127), ('Auslassventil', 'Dampfzylinder', 127), ('Einrichtung', 'Luftdruckkontrolle', 240), ('anfragen', 'Termin', 361), ('anfragen', 'Schneider', 361), ('Termin', 'Schneider', 360), ('reinigen', 'SAE50', 185), ('reinigen', 'Bedarf', 185), ('reinigen', 'Woche', 185), ('reinigen', 'Monat', 185), ('reinigen', 'neu', 186), ('Uhr', 'ca.', 119), ('Lagerung', 'Palette', 282), ('Lagerung', 'Fach', 188), ('Lagerung', 'Hochregal', 188), ('Lagerung', 'Halle', 188), ('Lagerung', 'so', 188), ('Lagerung', 'zulässig', 188), ('Palette', 'Fach', 141), ('Palette', 'Hochregal', 141), ('Palette', 'Halle', 141), ('Palette', 'so', 188), ('Palette', 'zulässig', 188), ('Fach', 'Hochregal', 188), ('Fach', 'Halle', 188), ('Fach', 'so', 141), ('Fach', 'zulässig', 141), ('Hochregal', 'Halle', 188), ('Hochregal', 'so', 141), ('Hochregal', 'zulässig', 141), ('Halle', 'so', 141), ('Halle', 'zulässig', 141), ('so', 'zulässig', 188), ('zulässig', 'so', 94), ('noch', 'Haus', 107), ('Prüfbericht', 'noch', 189), ('Prüfbericht', 'Haus', 108), ('Absprache', 'Herr', 238), ('tauschen', 'Lager', 211), ('Rauwalze', 'Einziehwalze', 1275), ('Rauwalze', 'neu', 637), ('Einziehwalze', 'neu', 636), ('überziehen', 'neu', 678), ('erfolgen', 'Prüfung', 125), ('Baugruppe', 'Pos-Nr', 185), ('Baugruppe', 'Nr.', 185), ('Baugruppe', 'Stückliste', 185), ('Nr.', 'Stückliste', 185), ('ME-Nummer', 'Bezeichnung', 185), ('verbauen', 'Hersteller', 185), ('verbauen', 'Anzahl', 185), ('verbauen', 'Schmierstoff', 185), ('Wartungsintervall', 'Wechselintervall', 185), ('Rollenkette-zweifach', 'Öl', 185), ('SAE50', 'Bedarf', 185), ('Kettbaum', 'Gewind', 270), ('Kettbaum', 'nachschneiden', 270), ('nachschneiden', 'Gewind', 279), ('laufen', 'Maschine', 93)])"
|
||
]
|
||
},
|
||
"execution_count": 101,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"tkg_test.edges(data='weight')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "11040820-9dce-4acd-b9ce-113dc1857084",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 63,
|
||
"id": "9fb559ca-658f-4fd7-943b-5509eacccb56",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"s1 = {1,2,3}\n",
|
||
"s2 = {1,2,3,4,5,6}"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 64,
|
||
"id": "0e093317-d708-4dda-a2b2-aaf31f237594",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{4, 5, 6}"
|
||
]
|
||
},
|
||
"execution_count": 64,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"s2.difference(s1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "f151211e-dcfb-4fa5-8590-0d4b5b75efc5",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "6c49661f-5cb0-4a55-97c6-98ef562aba3d",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "000ea2c0-8ec4-45c2-a69b-8ff0f27bd742",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "2d91512f-8976-452e-acc9-4bff3dc33dd1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\transformers\\utils\\generic.py:309: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n",
|
||
" _torch_pytree._register_pytree_node(\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<spacy.lang.de.German at 0x24040684090>"
|
||
]
|
||
},
|
||
"execution_count": 2,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"model_loader.instantiate_model(MODEL_LOADER_MAP, LanguageModels.SPACY)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "7fe9337f-a11b-4eab-ae46-a8a4ccf3f461",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "4256081a-6364-4e8f-8cfd-799912ca6b94",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"res_path = Path(r'A:\\Arbeitsaufgaben\\lang-main\\scripts\\results\\test_20240619')\n",
|
||
"assert res_path.exists()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "e9a92ad6-5e63-49c4-b9e7-9f81da8549fe",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"#obj = 'TK-GRAPH_POSTPROCESSING.pkl'\n",
|
||
"obj = 'TK-GRAPH_ANALYSIS.pkl'\n",
|
||
"load_pth = res_path / obj\n",
|
||
"assert load_pth.exists()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "c2421d89-ed8c-41dd-b363-ad5b5b716704",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-07-24 06:14:16 +0000 | io:INFO | Loaded file successfully.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"ret = io.load_pickle(load_pth)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "ca25a7f2-84af-4b5e-89d6-b139fca35617",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"tkg = ret[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "ff7e7ab6-67d9-4a2c-b668-cf10740f7542",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"TokenGraph(name: TokenGraph, number of nodes: 158, number of edges: 192)"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"tkg"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "66901689-8b95-400a-b2fb-11d3ea215512",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"False"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"tkg.rescaled_weights"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "842e01fa-29cd-4028-9461-c7af24e01c33",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'degree_weighted': 186350}"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"tkg.nodes['Wartungstätigkeit']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "8d36d22e-73fd-44fe-ab08-98f8186bc6b2",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'degree_weighted': 186350}"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"tkg.undirected.nodes['Wartungstätigkeit']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "1e61aca3-efea-4e38-8174-5ca4b2585256",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"obj = 'TK-GRAPH_POSTPROCESSING.pkl'\n",
|
||
"# obj = 'TK-GRAPH_ANALYSIS.pkl'\n",
|
||
"load_pth = res_path / obj\n",
|
||
"assert load_pth.exists()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "5d83c04c-03ab-4086-a4e9-ae430e4c6090",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-07-19 05:56:10 +0000 | io:INFO | Loaded file successfully.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"ret = io.load_pickle(load_pth)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "4718b54e-0891-4f70-8c67-90c439bc8bfd",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"tkg = ret[0]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"id": "ddcb4ff0-eac4-45ba-9c6e-83ada4b0276c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"TokenGraph(name: TokenGraph, number of nodes: 6859, number of edges: 25499)"
|
||
]
|
||
},
|
||
"execution_count": 14,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"tkg"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "3d514552-3b55-41d1-af80-a1b559711608",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"False"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"tkg.rescaled_weights"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"id": "b73844e0-4242-4a8c-b552-48f10df34cc0",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"directed, undirected = tkg.rescale_edge_weights()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "593b9f87-4e9f-45e4-9367-55347924357b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'num_nodes': 6859,\n",
|
||
" 'num_edges': 25499,\n",
|
||
" 'min_edge_weight': 0.0952,\n",
|
||
" 'max_edge_weight': 1.0,\n",
|
||
" 'node_memory': 433996,\n",
|
||
" 'edge_memory': 1427944,\n",
|
||
" 'total_memory': 1861940}"
|
||
]
|
||
},
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"directed.metadata_directed"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"id": "aed4354a-69e4-4215-bd4b-a6c7c37c3ac5",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'num_nodes': 6859,\n",
|
||
" 'num_edges': 24796,\n",
|
||
" 'min_edge_weight': 1,\n",
|
||
" 'max_edge_weight': 92690,\n",
|
||
" 'node_memory': 433996,\n",
|
||
" 'edge_memory': 1388576,\n",
|
||
" 'total_memory': 1822572}"
|
||
]
|
||
},
|
||
"execution_count": 18,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"directed.metadata_undirected"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"id": "587de2ae-26ed-42f5-a8bd-104f9cbf1490",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'num_nodes': 6859,\n",
|
||
" 'num_edges': 24796,\n",
|
||
" 'min_edge_weight': 0.0952,\n",
|
||
" 'max_edge_weight': 1.0,\n",
|
||
" 'node_memory': 433996,\n",
|
||
" 'edge_memory': 1388576,\n",
|
||
" 'total_memory': 1822572}"
|
||
]
|
||
},
|
||
"execution_count": 19,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"get_graph_metadata(undirected)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "859be6a3-a919-433a-a0a7-f4d74cdc6bf7",
|
||
"metadata": {},
|
||
"source": [
|
||
"break_early = False\n",
|
||
"i = 0\n",
|
||
"for idx, (node1, node2) in enumerate(list(Gtest.edges)):\n",
|
||
" if break_early and i == 10:\n",
|
||
" break\n",
|
||
" Gtest[node1][node2]['weight'] = adjusted_weights[idx]\n",
|
||
" \n",
|
||
" i += 1"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"id": "f381b25a-6149-4a2a-876c-4cbd8bb9bd04",
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Wartungstätigkeit Vorgabe 1.0\n",
|
||
"Wartungstätigkeit Maschinenhersteller 1.0\n",
|
||
"Wartungstätigkeit Maschinenbediener 0.8215\n",
|
||
"Wartungstätigkeit Laserabteilung 0.8215\n",
|
||
"Wartungstätigkeit Arbeitsplan 0.8219\n",
|
||
"Wartungstätigkeit abarbeiten 0.8215\n",
|
||
"Wartungstätigkeit Webmaschinenkontrollliste 0.2534\n",
|
||
"Wartungstätigkeit sehen 0.2534\n",
|
||
"Vorgabe Maschinenhersteller 1.0\n",
|
||
"Vorgabe Wartungsplan 0.9181\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"break_early = True\n",
|
||
"i = 0\n",
|
||
"for n1, n2, w in directed.edges.data('weight'):\n",
|
||
" if break_early and i == 10:\n",
|
||
" break\n",
|
||
" print(n1, n2, w)\n",
|
||
"\n",
|
||
" i += 1"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"id": "a7929935-3bd2-4eb8-907c-4d37251f11ea",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Wartungstätigkeit Vorgabe 1.0\n",
|
||
"Wartungstätigkeit Maschinenhersteller 1.0\n",
|
||
"Wartungstätigkeit sehen 0.2534\n",
|
||
"Wartungstätigkeit Maschinenbediener 0.8215\n",
|
||
"Wartungstätigkeit Laserabteilung 0.8215\n",
|
||
"Wartungstätigkeit Arbeitsplan 0.8219\n",
|
||
"Wartungstätigkeit abarbeiten 0.8215\n",
|
||
"Wartungstätigkeit Webmaschinenkontrollliste 0.2534\n",
|
||
"Vorgabe Maschinenhersteller 1.0\n",
|
||
"Vorgabe Wartungsplan 0.9181\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"break_early = True\n",
|
||
"i = 0\n",
|
||
"for n1, n2, w in undirected.edges.data('weight'):\n",
|
||
" if break_early and i == 10:\n",
|
||
" break\n",
|
||
" print(n1, n2, w)\n",
|
||
"\n",
|
||
" i += 1"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "b2e2cbbe-68ef-4ea0-9ed0-b114be1efd08",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "55665c2f-9a86-47f4-9125-557666e1f541",
|
||
"metadata": {},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"# Load re-scaled Token Graph"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "2a3be1eb-b289-46ab-8d70-53110ad2806c",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"#obj = 'TK-GRAPH_POSTPROCESSING.pkl'\n",
|
||
"obj = 'TK-GRAPH_ANALYSIS_RESCALED.pkl'\n",
|
||
"load_pth = res_path / obj\n",
|
||
"assert load_pth.exists()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "64d8ba18-b1e2-470d-8bf5-9dd7cfec31de",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-07-24 06:14:31 +0000 | io:INFO | Loaded file successfully.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"ret = io.load_pickle(load_pth)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "d80522a0-c13a-42d3-af9d-8e10914c7831",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"tk_resc = ret[1]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "4a19d096-27f8-4626-97ee-31c0f84a294f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'num_nodes': 158,\n",
|
||
" 'num_edges': 189,\n",
|
||
" 'min_edge_weight': 0.0952,\n",
|
||
" 'max_edge_weight': 1.0,\n",
|
||
" 'node_memory': 9908,\n",
|
||
" 'edge_memory': 10584,\n",
|
||
" 'total_memory': 20492}"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"get_graph_metadata(tk_resc)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 97,
|
||
"id": "86fe9b96-2e96-4a6c-a511-6a9c16b8fd63",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Wartungstätigkeit 3.1190000474452972\n",
|
||
"Vorgabe 4.145399987697601\n",
|
||
"Maschinenhersteller 2.0\n",
|
||
"Sichtkontrolle 0.8227999806404114\n",
|
||
"Reinigung 1.7093999981880188\n",
|
||
"Überprüfung 2.0071999728679657\n",
|
||
"Ölabscheider 0.7318999767303467\n",
|
||
"Kontrolle 6.2471999898552895\n",
|
||
"C-Anlage 0.6929000020027161\n",
|
||
"Stabbreithalter 0.5758000016212463\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"break_early = True\n",
|
||
"n = 10\n",
|
||
"\n",
|
||
"for idx, (node, weighted_degree) in enumerate(tk_resc.degree(weight='weight')):\n",
|
||
" if break_early and idx == n:\n",
|
||
" break\n",
|
||
" print(node, weighted_degree)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 312,
|
||
"id": "420fd2db-98d0-48df-8a01-b4355778a6e9",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'Wartungstätigkeit': 3.1190000474452972,\n",
|
||
" 'Vorgabe': 4.145399987697601,\n",
|
||
" 'Maschinenhersteller': 2.0,\n",
|
||
" 'Sichtkontrolle': 0.8227999806404114,\n",
|
||
" 'Reinigung': 1.7093999981880188,\n",
|
||
" 'Überprüfung': 2.0071999728679657,\n",
|
||
" 'Ölabscheider': 0.7318999767303467,\n",
|
||
" 'Kontrolle': 6.2471999898552895,\n",
|
||
" 'C-Anlage': 0.6929000020027161,\n",
|
||
" 'Stabbreithalter': 0.5758000016212463,\n",
|
||
" 'Scharniere': 0.7002999782562256,\n",
|
||
" '--': 0.7002999782562256,\n",
|
||
" 'Schließvorrichtung': 0.7059999704360962,\n",
|
||
" 'Schloß': 0.7059999704360962,\n",
|
||
" 'Kompressorstation': 0.5514000058174133,\n",
|
||
" 'Wasseraufbereitungsanlage': 0.5105999708175659,\n",
|
||
" 'Heizungsanlage': 0.5101000070571899,\n",
|
||
" 'Druckkontrolle': 1.140199989080429,\n",
|
||
" 'bar': 1.2935999631881714,\n",
|
||
" 'machen': 1.4854000210762024,\n",
|
||
" 'gegebenenfalls': 0.4934000074863434,\n",
|
||
" 'Filter': 0.4934000074863434,\n",
|
||
" 'sauber': 0.4986000061035156,\n",
|
||
" 'Leiter': 0.6482000052928925,\n",
|
||
" 'Analyse': 0.42980000376701355,\n",
|
||
" 'Kesselwasser': 0.42980000376701355,\n",
|
||
" 'überprüfen': 0.42980000376701355,\n",
|
||
" 'Wasserverbrauch': 0.42980000376701355,\n",
|
||
" 'auffüllen': 0.7113999724388123,\n",
|
||
" 'Desifektionsmittel': 0.35569998621940613,\n",
|
||
" 'Aschenbecher': 0.7113999724388123,\n",
|
||
" 'leeren': 0.35569998621940613,\n",
|
||
" 'Wartung': 0.46550001204013824,\n",
|
||
" 'Toilette': 0.2621000111103058,\n",
|
||
" 'Wartungsplan': 2.1448000073432922,\n",
|
||
" 'sehen': 3.650799944996834,\n",
|
||
" 'Extradatum': 3.2020999789237976,\n",
|
||
" 'Kompensator': 0.20739999413490295,\n",
|
||
" 'Verschleiß': 0.6553999930620193,\n",
|
||
" 'Dichtigkeit': 0.4373999983072281,\n",
|
||
" 'Kühlturm': 0.20340000092983246,\n",
|
||
" 'schmieren': 1.4377999901771545,\n",
|
||
" 'Rieme': 0.4068000018596649,\n",
|
||
" 'Maschinenbediener': 0.5580000281333923,\n",
|
||
" 'Laserabteilung': 0.5580000281333923,\n",
|
||
" 'Arbeitsplan': 0.7273000031709671,\n",
|
||
" 'abarbeiten': 0.7170000076293945,\n",
|
||
" 'Küsters-Anlage': 0.6922999918460846,\n",
|
||
" 'Anlage': 0.6487999856472015,\n",
|
||
" 'Leckage': 0.7812000215053558,\n",
|
||
" 'prüfen': 1.5511000156402588,\n",
|
||
" 'abschmieren': 0.4147999882698059,\n",
|
||
" 'Lager': 0.4318999946117401,\n",
|
||
" 'Campen-Aufwickler': 0.20739999413490295,\n",
|
||
" 'Linearkugellager': 0.4399999976158142,\n",
|
||
" 'Campen-Abwickler': 0.20739999413490295,\n",
|
||
" 'Wumag-Trockner': 0.20739999413490295,\n",
|
||
" 'Gesamtanlage': 0.3847000002861023,\n",
|
||
" 'Beschädigung': 0.8136000037193298,\n",
|
||
" 'usw.': 0.8136000037193298,\n",
|
||
" 'Stand': 0.9007999897003174,\n",
|
||
" 'Stöppel': 0.6636999845504761,\n",
|
||
" '-Leiterprüfung': 0.8335999846458435,\n",
|
||
" 'Herr': 5.480200096964836,\n",
|
||
" 'Buschmann': 1.108900010585785,\n",
|
||
" 'derzeit': 1.4514999985694885,\n",
|
||
" 'Förster': 1.411899983882904,\n",
|
||
" 'terminieren': 0.44359999895095825,\n",
|
||
" 'reparieren': 0.1459999978542328,\n",
|
||
" 'Akku': 0.1282999962568283,\n",
|
||
" 'Firma': 3.6372000351548195,\n",
|
||
" 'Hawker': 0.1282999962568283,\n",
|
||
" 'Prüfung': 0.23270000517368317,\n",
|
||
" 'V': 0.1177000030875206,\n",
|
||
" 'Erste-Hilfe-Koffer': 0.11500000208616257,\n",
|
||
" 'orange': 0.11500000208616257,\n",
|
||
" 'Blombe': 0.46000000834465027,\n",
|
||
" 'vorhanden': 0.11500000208616257,\n",
|
||
" 'bitte': 0.11500000208616257,\n",
|
||
" 'Ticket': 0.48810001462697983,\n",
|
||
" 'Magazin': 0.48810001462697983,\n",
|
||
" 'Leiterprüfung': 0.19040000438690186,\n",
|
||
" 'Arbeit': 0.09520000219345093,\n",
|
||
" 'Abteilungsleiter': 0.48180001229047775,\n",
|
||
" 'Email': 1.6289000436663628,\n",
|
||
" 'Eigenverantwortlichkeit': 1.9827000498771667,\n",
|
||
" 'Mithilfe': 1.7449000477790833,\n",
|
||
" 'Graf': 1.884600043296814,\n",
|
||
" 'informieren': 0.5197000131011009,\n",
|
||
" 'Pflasterschrank': 0.11500000208616257,\n",
|
||
" 'Bedarf': 0.8617000207304955,\n",
|
||
" 'Verbandsmaterial': 0.3450000062584877,\n",
|
||
" 'Auflistung': 0.23000000417232513,\n",
|
||
" 'finden': 0.5750000104308128,\n",
|
||
" 'Extradate': 0.3450000062584877,\n",
|
||
" 'intern': 0.23000000417232513,\n",
|
||
" 'Objekt': 0.23000000417232513,\n",
|
||
" 'Wartungsarbeit': 0.4415999948978424,\n",
|
||
" 'Einrichtung': 0.2759999930858612,\n",
|
||
" 'Luftdruckkontrolle': 0.2759999930858612,\n",
|
||
" 'Abschmierung': 0.49140000343322754,\n",
|
||
" 'Ventilator': 0.49140000343322754,\n",
|
||
" 'Motor': 0.9828000068664551,\n",
|
||
" 'durchführen': 0.24570000171661377,\n",
|
||
" 'Monat': 0.4219000041484833,\n",
|
||
" 'Erledigungsdatum': 0.24570000171661377,\n",
|
||
" 'anschreiben': 0.24570000171661377,\n",
|
||
" 'Wechseln': 0.504800021648407,\n",
|
||
" 'V-Röhre': 0.2524000108242035,\n",
|
||
" 'Betriebsstunde': 0.2524000108242035,\n",
|
||
" 'Wäscherkontrolle': 0.49140000343322754,\n",
|
||
" 'Sitz': 0.15800000727176666,\n",
|
||
" 'Verschmutzung': 0.1256999969482422,\n",
|
||
" 'Sicherstellung': 0.1256999969482422,\n",
|
||
" 'Ausblasöffnung': 0.1256999969482422,\n",
|
||
" 'Fremdkörper': 0.1256999969482422,\n",
|
||
" 'anfragen': 0.45570001006126404,\n",
|
||
" 'Termin': 0.45570001006126404,\n",
|
||
" 'Menzel': 0.5950000286102295,\n",
|
||
" 'Vorbelegung': 1.5947999954223633,\n",
|
||
" 'Stehlagergehäuse': 0.4966000020503998,\n",
|
||
" 'M': 0.1177000030875206,\n",
|
||
" 'Moser': 0.2371000051498413,\n",
|
||
" 'Lagerung': 1.2455999702215195,\n",
|
||
" 'Palette': 0.6974999904632568,\n",
|
||
" 'Fach': 0.5480999797582626,\n",
|
||
" 'Hochregal': 0.5480999797582626,\n",
|
||
" 'Halle': 0.5480999797582626,\n",
|
||
" 'so': 0.5480999797582626,\n",
|
||
" 'zulässig': 0.5480999797582626,\n",
|
||
" 'tauschen': 0.22450000047683716,\n",
|
||
" 'reinigen': 0.530799999833107,\n",
|
||
" 'Rauwalze': 1.255899965763092,\n",
|
||
" 'Einziehwalze': 1.2551999688148499,\n",
|
||
" 'neu': 2.048299953341484,\n",
|
||
" 'überziehen': 0.573199987411499,\n",
|
||
" 'erfolgen': 0.11500000208616257,\n",
|
||
" 'Absprache': 0.09809999912977219,\n",
|
||
" 'Baugruppe': 0.704800009727478,\n",
|
||
" 'Pos.-Nr': 0.352400004863739,\n",
|
||
" 'Nr.': 0.5286000072956085,\n",
|
||
" 'Stückliste': 0.5286000072956085,\n",
|
||
" 'E-Nummer': 0.1762000024318695,\n",
|
||
" 'Bezeichnung': 0.1762000024318695,\n",
|
||
" 'verbauen': 0.352400004863739,\n",
|
||
" 'Hersteller': 0.1762000024318695,\n",
|
||
" 'Anzahl': 0.1762000024318695,\n",
|
||
" 'Schmierstoffmenge': 0.1762000024318695,\n",
|
||
" 'max.': 0.1762000024318695,\n",
|
||
" 'Wartungsintervall': 0.1762000024318695,\n",
|
||
" 'Wechselintervall': 0.1762000024318695,\n",
|
||
" 'Rollenkette-zweifach': 0.1762000024318695,\n",
|
||
" 'Öl': 0.1762000024318695,\n",
|
||
" 'E50': 0.1762000024318695,\n",
|
||
" 'Woche': 0.1762000024318695,\n",
|
||
" 'Kettbaum': 0.6245999932289124,\n",
|
||
" 'Gewind': 0.6347000002861023,\n",
|
||
" 'nachschneiden': 0.6347000002861023}"
|
||
]
|
||
},
|
||
"execution_count": 312,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"dict(tk_resc.degree(weight='weight'))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 98,
|
||
"id": "cafbd812-3292-4610-8fb4-0e230a3e63f4",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"nx.set_node_attributes(tk_resc, dict(tk_resc.degree(weight='weight')), name='weight_degree')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 102,
|
||
"id": "fac462a9-4fe0-408b-9fea-9bf3b05ac7a2",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"{'weight_degree': 3.1190000474452972}\n",
|
||
"{'weight_degree': 4.145399987697601}\n",
|
||
"{'weight_degree': 2.0}\n",
|
||
"{'weight_degree': 0.8227999806404114}\n",
|
||
"{'weight_degree': 1.7093999981880188}\n",
|
||
"{'weight_degree': 2.0071999728679657}\n",
|
||
"{'weight_degree': 0.7318999767303467}\n",
|
||
"{'weight_degree': 6.2471999898552895}\n",
|
||
"{'weight_degree': 0.6929000020027161}\n",
|
||
"{'weight_degree': 0.5758000016212463}\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"break_early = True\n",
|
||
"n = 10\n",
|
||
"\n",
|
||
"for idx, node in enumerate(tk_resc.nodes):\n",
|
||
" if break_early and idx == n:\n",
|
||
" break\n",
|
||
" print(tk_resc.nodes[node])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "86699c31-5679-4baa-a52a-d7e97dd77761",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 103,
|
||
"id": "781d2906-f2cb-447a-b8b9-c82d9ae7e29f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"You are connected to Cytoscape!\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'You are connected to Cytoscape!'"
|
||
]
|
||
},
|
||
"execution_count": 103,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"#import py4cytoscape as p4c\n",
|
||
"p4c.cytoscape_ping()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 164,
|
||
"id": "2262166f-8fc6-468d-a808-1ff79ac0a70a",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['lang_main']"
|
||
]
|
||
},
|
||
"execution_count": 164,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.get_collection_list()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"id": "635ef0b3-0e22-4565-92ba-c1e50ff1c6ac",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"''"
|
||
]
|
||
},
|
||
"execution_count": 25,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.networks.delete_all_networks()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 182,
|
||
"id": "2db0ecc6-15aa-49a7-baca-bee8a3faa27e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"''"
|
||
]
|
||
},
|
||
"execution_count": 182,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.networks.delete_network('test3')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 207,
|
||
"id": "986a01f1-1b98-4d6b-bf4b-83d0ef306425",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 208,
|
||
"id": "fcc82b82-1bb5-484f-9d49-75de18ebddd4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"''"
|
||
]
|
||
},
|
||
"execution_count": 208,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.networks.delete_all_networks()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 209,
|
||
"id": "28b25e27-ed77-4c23-84d5-e3dec004e4fe",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Applying default style...\n",
|
||
"Applying preferred layout\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"20743"
|
||
]
|
||
},
|
||
"execution_count": 209,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"\n",
|
||
"p4c.create_network_from_networkx(tk_resc, title=BASE_NAME, collection='lang_main')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 210,
|
||
"id": "a4871473-83b3-44ed-a6b0-45453975cdd6",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'networkTitle': 'test (undirected)',\n",
|
||
" 'nodeCount': '158',\n",
|
||
" 'edgeCount': '189',\n",
|
||
" 'avNeighbors': '2.3684210526315788',\n",
|
||
" 'diameter': '10',\n",
|
||
" 'radius': '5',\n",
|
||
" 'avSpl': '3.7965860597439547',\n",
|
||
" 'cc': '0.3375',\n",
|
||
" 'density': '0.06401137980085347',\n",
|
||
" 'heterogeneity': '1.0891156226526975',\n",
|
||
" 'centralization': '0.38888888888888895',\n",
|
||
" 'ncc': '27',\n",
|
||
" 'time': '0.003'}"
|
||
]
|
||
},
|
||
"execution_count": 210,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.tools.analyze_network(directed=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "9c0dc5a0-0686-459b-9e98-50ab8238ecb2",
|
||
"metadata": {},
|
||
"source": [
|
||
"---"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "70104956-06d4-461b-ab4d-312d868f6e98",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"BASE_NETWORK_NAME = 'test'\n",
|
||
"\n",
|
||
"def import_to_cytoscape(graph):\n",
|
||
" p4c.networks.delete_all_networks()\n",
|
||
" p4c.create_network_from_networkx(graph, title=BASE_NETWORK_NAME, collection='lang_main')\n",
|
||
" p4c.tools.analyze_network(directed=False)\n",
|
||
"\n",
|
||
"\n",
|
||
"def reset_current_network_to_base():\n",
|
||
" p4c.set_current_network(BASE_NETWORK_NAME)\n",
|
||
"\n",
|
||
"\n",
|
||
"def export_network_to_image(filename, filetype='SVG', network_name=BASE_NETWORK_NAME):\n",
|
||
" target_folder = Path.cwd() / 'results'\n",
|
||
" if not target_folder.exists():\n",
|
||
" target_folder.mkdir(parents=True)\n",
|
||
" file_pth = target_folder / filename\n",
|
||
"\n",
|
||
" text_as_font = True\n",
|
||
" if filetype == 'SVG':\n",
|
||
" text_as_font = False\n",
|
||
"\n",
|
||
" p4c.export_image(filename=str(file_pth), type=filetype, network=network_name, overwrite_file=True, all_graphics_details=True, export_text_as_font=text_as_font, page_size='A4')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "2c240f53-0f6c-4de3-adcb-7be4f051ca2a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"LAYOUT_NAME = 'force-directed'\n",
|
||
"LAYOUT_PROPERTIES = {\n",
|
||
" 'numIterations': 1000,\n",
|
||
" 'defaultSpringCoefficient': 1e-4,\n",
|
||
" 'defaultSpringLength': 45,\n",
|
||
" 'defaultNodeMass': 11,\n",
|
||
" 'isDeterministic': True,\n",
|
||
" 'singlePartition': False,\n",
|
||
"}\n",
|
||
"PATH_STYLESHEET = Path('lang_main.xml')\n",
|
||
"STYLESHEET_NAME = 'lang_main'\n",
|
||
"\n",
|
||
"def layout_network(layout_name=LAYOUT_NAME, layout_properties=LAYOUT_PROPERTIES, network_name=BASE_NETWORK_NAME):\n",
|
||
" p4c.set_layout_properties(layout_name, layout_properties)\n",
|
||
" p4c.layout_network(layout_name=layout_name, network=network_name)\n",
|
||
" p4c.fit_content(selected_only=False, network=network_name)\n",
|
||
"\n",
|
||
"\n",
|
||
"def apply_style_to_network(pth_to_stylesheet=PATH_STYLESHEET, network_name=BASE_NETWORK_NAME):\n",
|
||
" styles_avail = p4c.get_visual_style_names()\n",
|
||
" if STYLESHEET_NAME not in styles_avail:\n",
|
||
" p4c.import_visual_styles(pth_to_stylesheet)\n",
|
||
"\n",
|
||
" p4c.set_visual_style(STYLESHEET_NAME, network=network_name)\n",
|
||
" p4c.fit_content(selected_only=False, network=network_name)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "9759f36d-761f-45fc-a9d2-157aef08c1bf",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"SELECTION_PROPERTY = 'node_selection'\n",
|
||
"SELECTION_NUMBER = 5\n",
|
||
"ITER_NEIGHBOUR_DEPTH = 2\n",
|
||
"\n",
|
||
"def get_sub_node_selection(network_name=BASE_NETWORK_NAME):\n",
|
||
" node_table = p4c.get_table_columns(network=network_name)\n",
|
||
" node_table['stress_norm'] = node_table['Stress'] / node_table['Stress'].max()\n",
|
||
" node_table[SELECTION_PROPERTY] = node_table['weight_degree'] * node_table['BetweennessCentrality'] * node_table['stress_norm']\n",
|
||
" node_table = node_table.sort_values(by=SELECTION_PROPERTY, ascending=False)\n",
|
||
" node_table_choice = node_table.iloc[:SELECTION_NUMBER,:]\n",
|
||
"\n",
|
||
" return node_table_choice['SUID'].to_list()\n",
|
||
"\n",
|
||
"\n",
|
||
"def select_neighbours_of_node(node, network_name=BASE_NETWORK_NAME):\n",
|
||
" p4c.clear_selection(network=network_name)\n",
|
||
" p4c.select_nodes(node, network=network_name)\n",
|
||
"\n",
|
||
" for _ in range(ITER_NEIGHBOUR_DEPTH):\n",
|
||
" _ = p4c.select_first_neighbors(network=network_name)\n",
|
||
"\n",
|
||
" _ = p4c.select_edges_connecting_selected_nodes()\n",
|
||
"\n",
|
||
"\n",
|
||
"def make_subnetwork(index, network_name=BASE_NETWORK_NAME, export_image=True):\n",
|
||
" subnetwork_name = network_name + f'_sub_{index+1}'\n",
|
||
" p4c.create_subnetwork(nodes='selected', edges='selected', subnetwork_name=subnetwork_name, network=network_name)\n",
|
||
" p4c.set_current_network(subnetwork_name)\n",
|
||
" p4c.fit_content(selected_only=False, network=network_name)\n",
|
||
" if export_image:\n",
|
||
" export_network_to_image(filename=subnetwork_name, network_name=subnetwork_name)\n",
|
||
"\n",
|
||
"\n",
|
||
"def build_subnetworks(nodes_to_analyse, network_name=BASE_NETWORK_NAME, export_image=True):\n",
|
||
" for idx, node in enumerate(nodes_to_analyse):\n",
|
||
" select_neighbours_of_node(node=node, network_name=network_name)\n",
|
||
" make_subnetwork(index=idx, network_name=network_name, export_image=export_image)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"id": "c7dc0828-ea07-4bfe-b8e7-2dc97a5107db",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"data = p4c.get_table_columns()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"id": "d7117506-7f2d-4a0d-ac19-cd55996bdfd6",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"data['test2'] = data['degree_weighted'] * 1000"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"id": "1e2389d4-283b-458a-a6a0-dfbf5ee1a00e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>SUID</th>\n",
|
||
" <th>shared name</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>selected</th>\n",
|
||
" <th>AverageShortestPathLength</th>\n",
|
||
" <th>BetweennessCentrality</th>\n",
|
||
" <th>ClosenessCentrality</th>\n",
|
||
" <th>ClusteringCoefficient</th>\n",
|
||
" <th>Degree</th>\n",
|
||
" <th>Eccentricity</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>PartnerOfMultiEdgedNodePairs</th>\n",
|
||
" <th>Radiality</th>\n",
|
||
" <th>SelfLoops</th>\n",
|
||
" <th>Stress</th>\n",
|
||
" <th>TopologicalCoefficient</th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>degree_weighted</th>\n",
|
||
" <th>row.names</th>\n",
|
||
" <th>test</th>\n",
|
||
" <th>test2</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>257</th>\n",
|
||
" <td>257</td>\n",
|
||
" <td>anschreiben</td>\n",
|
||
" <td>anschreiben</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>1.750000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.571429</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.812500</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>anschreiben</td>\n",
|
||
" <td>0.2457</td>\n",
|
||
" <td>257</td>\n",
|
||
" <td>245.700002</td>\n",
|
||
" <td>245.700002</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>259</th>\n",
|
||
" <td>259</td>\n",
|
||
" <td>Erledigungsdatum</td>\n",
|
||
" <td>Erledigungsdatum</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>1.750000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.571429</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.812500</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>Erledigungsdatum</td>\n",
|
||
" <td>0.2457</td>\n",
|
||
" <td>259</td>\n",
|
||
" <td>245.700002</td>\n",
|
||
" <td>245.700002</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>261</th>\n",
|
||
" <td>261</td>\n",
|
||
" <td>Monat</td>\n",
|
||
" <td>Monat</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>4.945946</td>\n",
|
||
" <td>0.054054</td>\n",
|
||
" <td>0.202186</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>9</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.753378</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>72</td>\n",
|
||
" <td>0.500000</td>\n",
|
||
" <td>Monat</td>\n",
|
||
" <td>0.4219</td>\n",
|
||
" <td>261</td>\n",
|
||
" <td>421.900004</td>\n",
|
||
" <td>421.900004</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>263</th>\n",
|
||
" <td>263</td>\n",
|
||
" <td>durchführen</td>\n",
|
||
" <td>durchführen</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>5.918919</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.168950</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.692568</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>durchführen</td>\n",
|
||
" <td>0.2457</td>\n",
|
||
" <td>263</td>\n",
|
||
" <td>245.700002</td>\n",
|
||
" <td>245.700002</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>265</th>\n",
|
||
" <td>265</td>\n",
|
||
" <td>Motor</td>\n",
|
||
" <td>Motor</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.833333</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.166667</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>10</td>\n",
|
||
" <td>0.500000</td>\n",
|
||
" <td>Motor</td>\n",
|
||
" <td>0.9828</td>\n",
|
||
" <td>265</td>\n",
|
||
" <td>982.800007</td>\n",
|
||
" <td>982.800007</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>247</th>\n",
|
||
" <td>247</td>\n",
|
||
" <td>Sitz</td>\n",
|
||
" <td>Sitz</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.333333</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.666667</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>Sitz</td>\n",
|
||
" <td>0.1580</td>\n",
|
||
" <td>247</td>\n",
|
||
" <td>158.000007</td>\n",
|
||
" <td>158.000007</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>249</th>\n",
|
||
" <td>249</td>\n",
|
||
" <td>Wäscherkontrolle</td>\n",
|
||
" <td>Wäscherkontrolle</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>3.459459</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.289062</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>7</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.846284</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.666667</td>\n",
|
||
" <td>Wäscherkontrolle</td>\n",
|
||
" <td>0.4914</td>\n",
|
||
" <td>249</td>\n",
|
||
" <td>491.400003</td>\n",
|
||
" <td>491.400003</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>251</th>\n",
|
||
" <td>251</td>\n",
|
||
" <td>Betriebsstunde</td>\n",
|
||
" <td>Betriebsstunde</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>1.500000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.666667</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.750000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>Betriebsstunde</td>\n",
|
||
" <td>0.2524</td>\n",
|
||
" <td>251</td>\n",
|
||
" <td>252.400011</td>\n",
|
||
" <td>252.400011</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>253</th>\n",
|
||
" <td>253</td>\n",
|
||
" <td>V-Röhre</td>\n",
|
||
" <td>V-Röhre</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>1.500000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.666667</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.750000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>V-Röhre</td>\n",
|
||
" <td>0.2524</td>\n",
|
||
" <td>253</td>\n",
|
||
" <td>252.400011</td>\n",
|
||
" <td>252.400011</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>255</th>\n",
|
||
" <td>255</td>\n",
|
||
" <td>Wechseln</td>\n",
|
||
" <td>Wechseln</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>Wechseln</td>\n",
|
||
" <td>0.5048</td>\n",
|
||
" <td>255</td>\n",
|
||
" <td>504.800022</td>\n",
|
||
" <td>504.800022</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>158 rows × 24 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" SUID shared name name selected \\\n",
|
||
"257 257 anschreiben anschreiben False \n",
|
||
"259 259 Erledigungsdatum Erledigungsdatum False \n",
|
||
"261 261 Monat Monat False \n",
|
||
"263 263 durchführen durchführen False \n",
|
||
"265 265 Motor Motor False \n",
|
||
".. ... ... ... ... \n",
|
||
"247 247 Sitz Sitz False \n",
|
||
"249 249 Wäscherkontrolle Wäscherkontrolle False \n",
|
||
"251 251 Betriebsstunde Betriebsstunde False \n",
|
||
"253 253 V-Röhre V-Röhre False \n",
|
||
"255 255 Wechseln Wechseln False \n",
|
||
"\n",
|
||
" AverageShortestPathLength BetweennessCentrality ClosenessCentrality \\\n",
|
||
"257 1.750000 0.000000 0.571429 \n",
|
||
"259 1.750000 0.000000 0.571429 \n",
|
||
"261 4.945946 0.054054 0.202186 \n",
|
||
"263 5.918919 0.000000 0.168950 \n",
|
||
"265 1.000000 0.833333 1.000000 \n",
|
||
".. ... ... ... \n",
|
||
"247 3.000000 0.000000 0.333333 \n",
|
||
"249 3.459459 0.000000 0.289062 \n",
|
||
"251 1.500000 0.000000 0.666667 \n",
|
||
"253 1.500000 0.000000 0.666667 \n",
|
||
"255 1.000000 1.000000 1.000000 \n",
|
||
"\n",
|
||
" ClusteringCoefficient Degree Eccentricity ... \\\n",
|
||
"257 0.000000 1 2 ... \n",
|
||
"259 0.000000 1 2 ... \n",
|
||
"261 0.000000 2 9 ... \n",
|
||
"263 0.000000 1 10 ... \n",
|
||
"265 0.166667 4 1 ... \n",
|
||
".. ... ... ... ... \n",
|
||
"247 0.000000 1 5 ... \n",
|
||
"249 1.000000 2 7 ... \n",
|
||
"251 0.000000 1 2 ... \n",
|
||
"253 0.000000 1 2 ... \n",
|
||
"255 0.000000 2 1 ... \n",
|
||
"\n",
|
||
" PartnerOfMultiEdgedNodePairs Radiality SelfLoops Stress \\\n",
|
||
"257 0 0.812500 0 0 \n",
|
||
"259 0 0.812500 0 0 \n",
|
||
"261 0 0.753378 0 72 \n",
|
||
"263 0 0.692568 0 0 \n",
|
||
"265 0 1.000000 0 10 \n",
|
||
".. ... ... ... ... \n",
|
||
"247 0 0.666667 0 0 \n",
|
||
"249 0 0.846284 0 0 \n",
|
||
"251 0 0.750000 0 0 \n",
|
||
"253 0 0.750000 0 0 \n",
|
||
"255 0 1.000000 0 2 \n",
|
||
"\n",
|
||
" TopologicalCoefficient id degree_weighted row.names \\\n",
|
||
"257 0.000000 anschreiben 0.2457 257 \n",
|
||
"259 0.000000 Erledigungsdatum 0.2457 259 \n",
|
||
"261 0.500000 Monat 0.4219 261 \n",
|
||
"263 0.000000 durchführen 0.2457 263 \n",
|
||
"265 0.500000 Motor 0.9828 265 \n",
|
||
".. ... ... ... ... \n",
|
||
"247 0.000000 Sitz 0.1580 247 \n",
|
||
"249 0.666667 Wäscherkontrolle 0.4914 249 \n",
|
||
"251 0.000000 Betriebsstunde 0.2524 251 \n",
|
||
"253 0.000000 V-Röhre 0.2524 253 \n",
|
||
"255 0.000000 Wechseln 0.5048 255 \n",
|
||
"\n",
|
||
" test test2 \n",
|
||
"257 245.700002 245.700002 \n",
|
||
"259 245.700002 245.700002 \n",
|
||
"261 421.900004 421.900004 \n",
|
||
"263 245.700002 245.700002 \n",
|
||
"265 982.800007 982.800007 \n",
|
||
".. ... ... \n",
|
||
"247 158.000007 158.000007 \n",
|
||
"249 491.400003 491.400003 \n",
|
||
"251 252.400011 252.400011 \n",
|
||
"253 252.400011 252.400011 \n",
|
||
"255 504.800022 504.800022 \n",
|
||
"\n",
|
||
"[158 rows x 24 columns]"
|
||
]
|
||
},
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"data"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "facae316-6acb-4094-9eef-19bead44a813",
|
||
"metadata": {},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"1. import network\n",
|
||
"2. layouting\n",
|
||
"3. apply styles\n",
|
||
"4. export image\n",
|
||
"5. build subgraphs\n",
|
||
" 1. get candidates\n",
|
||
" 2. build subnetwork\n",
|
||
" 3. export subnetwork"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 305,
|
||
"id": "583d304d-571f-43f5-b8eb-905a01ddaec4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Applying default style...\n",
|
||
"Applying preferred layout\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import_to_cytoscape(tk_resc)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 306,
|
||
"id": "b13f2eb2-fa1e-495c-8e77-e992f78a69b6",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"layout_network()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 307,
|
||
"id": "60c1ca0f-ac73-4545-bffa-7eb656ade8fa",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"apply_style_to_network()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 308,
|
||
"id": "8cc5f1c0-0bb4-4e77-ba70-83ef449f37c8",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"export_network_to_image(filename=BASE_NETWORK_NAME)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "040c4439-3c46-4d48-92ed-af9614f90cb0",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 309,
|
||
"id": "da0f7a3f-c7e5-4c50-85d9-16a90ff69011",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"nodes_to_analyse = get_sub_node_selection()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 310,
|
||
"id": "27a9cbc3-d852-4f5d-a6ee-92f97cf10db1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"No nodes selected.\n",
|
||
"No nodes selected.\n",
|
||
"No nodes selected.\n",
|
||
"No nodes selected.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"build_subnetworks(nodes_to_analyse=nodes_to_analyse, export_image=True)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "39a61348-f2b6-4bf8-bc71-5d77e38bef47",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 40,
|
||
"id": "fae73cc5-ac29-463d-8ea3-87a1c8072932",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>SUID</th>\n",
|
||
" <th>shared name</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>selected</th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>degree_weighted</th>\n",
|
||
" <th>AverageShortestPathLength</th>\n",
|
||
" <th>ClusteringCoefficient</th>\n",
|
||
" <th>ClosenessCentrality</th>\n",
|
||
" <th>IsSingleNode</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>Stress</th>\n",
|
||
" <th>Degree</th>\n",
|
||
" <th>BetweennessCentrality</th>\n",
|
||
" <th>NeighborhoodConnectivity</th>\n",
|
||
" <th>NumberOfDirectedEdges</th>\n",
|
||
" <th>NumberOfUndirectedEdges</th>\n",
|
||
" <th>Radiality</th>\n",
|
||
" <th>TopologicalCoefficient</th>\n",
|
||
" <th>stress_norm</th>\n",
|
||
" <th>node_selection</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>16385</th>\n",
|
||
" <td>16385</td>\n",
|
||
" <td>Fremdkörper</td>\n",
|
||
" <td>Fremdkörper</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Fremdkörper</td>\n",
|
||
" <td>0.1257</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16130</th>\n",
|
||
" <td>16130</td>\n",
|
||
" <td>Aschenbecher</td>\n",
|
||
" <td>Aschenbecher</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Aschenbecher</td>\n",
|
||
" <td>0.7114</td>\n",
|
||
" <td>1.333333</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.75</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0.666667</td>\n",
|
||
" <td>1.5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0.833333</td>\n",
|
||
" <td>0.5</td>\n",
|
||
" <td>0.002275</td>\n",
|
||
" <td>0.001079</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16388</th>\n",
|
||
" <td>16388</td>\n",
|
||
" <td>anfragen</td>\n",
|
||
" <td>anfragen</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>anfragen</td>\n",
|
||
" <td>0.4557</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16133</th>\n",
|
||
" <td>16133</td>\n",
|
||
" <td>leeren</td>\n",
|
||
" <td>leeren</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>leeren</td>\n",
|
||
" <td>0.3557</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.50</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.500000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16391</th>\n",
|
||
" <td>16391</td>\n",
|
||
" <td>Termin</td>\n",
|
||
" <td>Termin</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Termin</td>\n",
|
||
" <td>0.4557</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16121</th>\n",
|
||
" <td>16121</td>\n",
|
||
" <td>Wasserverbrauch</td>\n",
|
||
" <td>Wasserverbrauch</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Wasserverbrauch</td>\n",
|
||
" <td>0.4298</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16379</th>\n",
|
||
" <td>16379</td>\n",
|
||
" <td>Sicherstellung</td>\n",
|
||
" <td>Sicherstellung</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Sicherstellung</td>\n",
|
||
" <td>0.1257</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16124</th>\n",
|
||
" <td>16124</td>\n",
|
||
" <td>auffüllen</td>\n",
|
||
" <td>auffüllen</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>auffüllen</td>\n",
|
||
" <td>0.7114</td>\n",
|
||
" <td>1.333333</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.75</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>4</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0.666667</td>\n",
|
||
" <td>1.5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0.833333</td>\n",
|
||
" <td>0.5</td>\n",
|
||
" <td>0.002275</td>\n",
|
||
" <td>0.001079</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16382</th>\n",
|
||
" <td>16382</td>\n",
|
||
" <td>Ausblasöffnung</td>\n",
|
||
" <td>Ausblasöffnung</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Ausblasöffnung</td>\n",
|
||
" <td>0.1257</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>16127</th>\n",
|
||
" <td>16127</td>\n",
|
||
" <td>Desifektionsmittel</td>\n",
|
||
" <td>Desifektionsmittel</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Desifektionsmittel</td>\n",
|
||
" <td>0.3557</td>\n",
|
||
" <td>2.000000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.50</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>2.0</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.500000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>158 rows × 23 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" SUID shared name name selected \\\n",
|
||
"16385 16385 Fremdkörper Fremdkörper False \n",
|
||
"16130 16130 Aschenbecher Aschenbecher False \n",
|
||
"16388 16388 anfragen anfragen False \n",
|
||
"16133 16133 leeren leeren False \n",
|
||
"16391 16391 Termin Termin False \n",
|
||
"... ... ... ... ... \n",
|
||
"16121 16121 Wasserverbrauch Wasserverbrauch False \n",
|
||
"16379 16379 Sicherstellung Sicherstellung False \n",
|
||
"16124 16124 auffüllen auffüllen False \n",
|
||
"16382 16382 Ausblasöffnung Ausblasöffnung False \n",
|
||
"16127 16127 Desifektionsmittel Desifektionsmittel False \n",
|
||
"\n",
|
||
" id degree_weighted AverageShortestPathLength \\\n",
|
||
"16385 Fremdkörper 0.1257 1.000000 \n",
|
||
"16130 Aschenbecher 0.7114 1.333333 \n",
|
||
"16388 anfragen 0.4557 1.000000 \n",
|
||
"16133 leeren 0.3557 2.000000 \n",
|
||
"16391 Termin 0.4557 1.000000 \n",
|
||
"... ... ... ... \n",
|
||
"16121 Wasserverbrauch 0.4298 1.000000 \n",
|
||
"16379 Sicherstellung 0.1257 1.000000 \n",
|
||
"16124 auffüllen 0.7114 1.333333 \n",
|
||
"16382 Ausblasöffnung 0.1257 1.000000 \n",
|
||
"16127 Desifektionsmittel 0.3557 2.000000 \n",
|
||
"\n",
|
||
" ClusteringCoefficient ClosenessCentrality IsSingleNode ... Stress \\\n",
|
||
"16385 0.0 1.00 False ... 0 \n",
|
||
"16130 0.0 0.75 False ... 4 \n",
|
||
"16388 0.0 1.00 False ... 0 \n",
|
||
"16133 0.0 0.50 False ... 0 \n",
|
||
"16391 0.0 1.00 False ... 0 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"16121 0.0 1.00 False ... 0 \n",
|
||
"16379 0.0 1.00 False ... 0 \n",
|
||
"16124 0.0 0.75 False ... 4 \n",
|
||
"16382 0.0 1.00 False ... 0 \n",
|
||
"16127 0.0 0.50 False ... 0 \n",
|
||
"\n",
|
||
" Degree BetweennessCentrality NeighborhoodConnectivity \\\n",
|
||
"16385 1 0.000000 1.0 \n",
|
||
"16130 2 0.666667 1.5 \n",
|
||
"16388 1 0.000000 1.0 \n",
|
||
"16133 1 0.000000 2.0 \n",
|
||
"16391 1 0.000000 1.0 \n",
|
||
"... ... ... ... \n",
|
||
"16121 1 0.000000 1.0 \n",
|
||
"16379 1 0.000000 1.0 \n",
|
||
"16124 2 0.666667 1.5 \n",
|
||
"16382 1 0.000000 1.0 \n",
|
||
"16127 1 0.000000 2.0 \n",
|
||
"\n",
|
||
" NumberOfDirectedEdges NumberOfUndirectedEdges Radiality \\\n",
|
||
"16385 0 1 1.000000 \n",
|
||
"16130 0 2 0.833333 \n",
|
||
"16388 0 1 1.000000 \n",
|
||
"16133 0 1 0.500000 \n",
|
||
"16391 0 1 1.000000 \n",
|
||
"... ... ... ... \n",
|
||
"16121 0 1 1.000000 \n",
|
||
"16379 0 1 1.000000 \n",
|
||
"16124 0 2 0.833333 \n",
|
||
"16382 0 1 1.000000 \n",
|
||
"16127 0 1 0.500000 \n",
|
||
"\n",
|
||
" TopologicalCoefficient stress_norm node_selection \n",
|
||
"16385 0.0 0.000000 0.000000 \n",
|
||
"16130 0.5 0.002275 0.001079 \n",
|
||
"16388 0.0 0.000000 0.000000 \n",
|
||
"16133 0.0 0.000000 0.000000 \n",
|
||
"16391 0.0 0.000000 0.000000 \n",
|
||
"... ... ... ... \n",
|
||
"16121 0.0 0.000000 0.000000 \n",
|
||
"16379 0.0 0.000000 0.000000 \n",
|
||
"16124 0.5 0.002275 0.001079 \n",
|
||
"16382 0.0 0.000000 0.000000 \n",
|
||
"16127 0.0 0.000000 0.000000 \n",
|
||
"\n",
|
||
"[158 rows x 23 columns]"
|
||
]
|
||
},
|
||
"execution_count": 40,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"data = p4c.get_table_columns()\n",
|
||
"data"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 41,
|
||
"id": "4b1e0799-59ac-431d-9e3f-8752bb0a4be5",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"min_val=0.0, max_val=3.008924891341149\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"min_val = data['node_selection'].min()\n",
|
||
"max_val = data['node_selection'].max()\n",
|
||
"print(f'{min_val=}, {max_val=}')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 54,
|
||
"id": "6d2e939c-7218-4449-a0de-8679f57f43b2",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"scheme = p4c.scheme_c_number_continuous(start_value=15, end_value=40)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 55,
|
||
"id": "17f6c3f1-4584-47ed-b563-2e71b6850184",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"node_size_map = p4c.gen_node_size_map('node_selection', number_scheme=scheme, mapping_type='c', style_name='lang_main', default_number=18)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 56,
|
||
"id": "842b04be-f434-4530-afac-22c892e1fc83",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'table_column': 'node_selection',\n",
|
||
" 'table_column_values': [0.0, 1.5044624456705744, 3.008924891341149],\n",
|
||
" 'sizes': [15, 27.5, 40],\n",
|
||
" 'mapping_type': 'c',\n",
|
||
" 'default_size': 18,\n",
|
||
" 'style_name': 'lang_main',\n",
|
||
" 'network': None,\n",
|
||
" 'base_url': 'http://127.0.0.1:1234/v1'}"
|
||
]
|
||
},
|
||
"execution_count": 56,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"node_size_map"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 57,
|
||
"id": "34dd3ada-c65b-4914-a918-e1798ef4e88b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"''"
|
||
]
|
||
},
|
||
"execution_count": 57,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.set_node_size_mapping(**node_size_map)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "d5b6c04b-dfe1-4cfc-bf0a-8251a9367a81",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "74749a78-1afb-4158-8ab4-05b18b59e39e",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"test = dict()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "9ec4f934-8ea5-401f-9f2f-86de478cec01",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"jo\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"if not test:\n",
|
||
" print('jo')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "97905d05-483c-4e9a-b88d-00353ada870b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from lang_main.render.cytoscape import layout_network"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "900868b3-7e3a-44c7-bef4-53c5a3e63e63",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"layout_network()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "d3369d18-0e29-4dc3-a7ba-bab8b356282f",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 296,
|
||
"id": "1dbbf2a3-6de3-4557-8966-40f12c55d755",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"41497"
|
||
]
|
||
},
|
||
"execution_count": 296,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"IDX = 0\n",
|
||
"nodes_to_select[IDX]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 297,
|
||
"id": "3b3eebe1-90e8-429d-8099-96f6e59f7e18",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"select_neighbours_of_node(nodes_to_select[IDX])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 300,
|
||
"id": "c1b46f42-5837-4a77-9d7c-5780bd5057be",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"build_subnetwork(IDX)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "0558b387-e1c4-43b8-aa3c-4d3a182856f4",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "3f215f7a-2cec-4ea8-8fc7-6b217fb3df7f",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "de481ea5-db5d-46ba-9eed-e7da476d895f",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "261bf119-4757-4840-a0b9-0d3d4fb77dd9",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "8b5dfc7f-44fd-4f7b-a8a8-0cd3c73449b4",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 190,
|
||
"id": "2ce067f3-9647-489d-934e-fcdf1a2561f1",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"node_table = p4c.get_table_columns(network=BASE_NAME)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 191,
|
||
"id": "f4490242-0aac-46af-a913-08a627815587",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"pandas.core.frame.DataFrame"
|
||
]
|
||
},
|
||
"execution_count": 191,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"type(node_table)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 192,
|
||
"id": "9bf840a7-e533-42e2-936a-2678f6bfc4ca",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>SUID</th>\n",
|
||
" <th>shared name</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>selected</th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>weight_degree</th>\n",
|
||
" <th>AverageShortestPathLength</th>\n",
|
||
" <th>ClusteringCoefficient</th>\n",
|
||
" <th>ClosenessCentrality</th>\n",
|
||
" <th>IsSingleNode</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>SelfLoops</th>\n",
|
||
" <th>Eccentricity</th>\n",
|
||
" <th>Stress</th>\n",
|
||
" <th>Degree</th>\n",
|
||
" <th>BetweennessCentrality</th>\n",
|
||
" <th>NeighborhoodConnectivity</th>\n",
|
||
" <th>NumberOfDirectedEdges</th>\n",
|
||
" <th>NumberOfUndirectedEdges</th>\n",
|
||
" <th>Radiality</th>\n",
|
||
" <th>TopologicalCoefficient</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>18610</th>\n",
|
||
" <td>18610</td>\n",
|
||
" <td>Kontrolle</td>\n",
|
||
" <td>Kontrolle</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Kontrolle</td>\n",
|
||
" <td>6.2472</td>\n",
|
||
" <td>2.270270</td>\n",
|
||
" <td>0.025000</td>\n",
|
||
" <td>0.440476</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>1062</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>0.797297</td>\n",
|
||
" <td>1.812500</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>0.920608</td>\n",
|
||
" <td>0.091346</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18778</th>\n",
|
||
" <td>18778</td>\n",
|
||
" <td>Herr</td>\n",
|
||
" <td>Herr</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Herr</td>\n",
|
||
" <td>5.4802</td>\n",
|
||
" <td>3.114286</td>\n",
|
||
" <td>0.294872</td>\n",
|
||
" <td>0.321101</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>962</td>\n",
|
||
" <td>15</td>\n",
|
||
" <td>0.402857</td>\n",
|
||
" <td>4.692308</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>14</td>\n",
|
||
" <td>0.837363</td>\n",
|
||
" <td>0.329670</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18799</th>\n",
|
||
" <td>18799</td>\n",
|
||
" <td>Firma</td>\n",
|
||
" <td>Firma</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Firma</td>\n",
|
||
" <td>3.6372</td>\n",
|
||
" <td>3.571429</td>\n",
|
||
" <td>0.127273</td>\n",
|
||
" <td>0.280000</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>7</td>\n",
|
||
" <td>1328</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>0.401681</td>\n",
|
||
" <td>2.818182</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>0.802198</td>\n",
|
||
" <td>0.223140</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18694</th>\n",
|
||
" <td>18694</td>\n",
|
||
" <td>sehen</td>\n",
|
||
" <td>sehen</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>sehen</td>\n",
|
||
" <td>3.6508</td>\n",
|
||
" <td>3.114286</td>\n",
|
||
" <td>0.333333</td>\n",
|
||
" <td>0.321101</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>1034</td>\n",
|
||
" <td>7</td>\n",
|
||
" <td>0.281793</td>\n",
|
||
" <td>4.571429</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>7</td>\n",
|
||
" <td>0.837363</td>\n",
|
||
" <td>0.268908</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18712</th>\n",
|
||
" <td>18712</td>\n",
|
||
" <td>schmieren</td>\n",
|
||
" <td>schmieren</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>schmieren</td>\n",
|
||
" <td>1.4378</td>\n",
|
||
" <td>2.621622</td>\n",
|
||
" <td>0.066667</td>\n",
|
||
" <td>0.381443</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>626</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>0.469970</td>\n",
|
||
" <td>4.333333</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>0.898649</td>\n",
|
||
" <td>0.183333</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>19048</th>\n",
|
||
" <td>19048</td>\n",
|
||
" <td>E50</td>\n",
|
||
" <td>E50</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>E50</td>\n",
|
||
" <td>0.1762</td>\n",
|
||
" <td>4.243243</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.235669</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>4.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.797297</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>19045</th>\n",
|
||
" <td>19045</td>\n",
|
||
" <td>Öl</td>\n",
|
||
" <td>Öl</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Öl</td>\n",
|
||
" <td>0.1762</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>19042</th>\n",
|
||
" <td>19042</td>\n",
|
||
" <td>Rollenkette-zweifach</td>\n",
|
||
" <td>Rollenkette-zweifach</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Rollenkette-zweifach</td>\n",
|
||
" <td>0.1762</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>19039</th>\n",
|
||
" <td>19039</td>\n",
|
||
" <td>Wechselintervall</td>\n",
|
||
" <td>Wechselintervall</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Wechselintervall</td>\n",
|
||
" <td>0.1762</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18943</th>\n",
|
||
" <td>18943</td>\n",
|
||
" <td>Menzel</td>\n",
|
||
" <td>Menzel</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Menzel</td>\n",
|
||
" <td>0.5950</td>\n",
|
||
" <td>4.542857</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>0.220126</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" <td>11.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>0.727473</td>\n",
|
||
" <td>0.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>158 rows × 21 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" SUID shared name name selected \\\n",
|
||
"18610 18610 Kontrolle Kontrolle False \n",
|
||
"18778 18778 Herr Herr False \n",
|
||
"18799 18799 Firma Firma False \n",
|
||
"18694 18694 sehen sehen False \n",
|
||
"18712 18712 schmieren schmieren False \n",
|
||
"... ... ... ... ... \n",
|
||
"19048 19048 E50 E50 False \n",
|
||
"19045 19045 Öl Öl False \n",
|
||
"19042 19042 Rollenkette-zweifach Rollenkette-zweifach False \n",
|
||
"19039 19039 Wechselintervall Wechselintervall False \n",
|
||
"18943 18943 Menzel Menzel False \n",
|
||
"\n",
|
||
" id weight_degree AverageShortestPathLength \\\n",
|
||
"18610 Kontrolle 6.2472 2.270270 \n",
|
||
"18778 Herr 5.4802 3.114286 \n",
|
||
"18799 Firma 3.6372 3.571429 \n",
|
||
"18694 sehen 3.6508 3.114286 \n",
|
||
"18712 schmieren 1.4378 2.621622 \n",
|
||
"... ... ... ... \n",
|
||
"19048 E50 0.1762 4.243243 \n",
|
||
"19045 Öl 0.1762 1.000000 \n",
|
||
"19042 Rollenkette-zweifach 0.1762 1.000000 \n",
|
||
"19039 Wechselintervall 0.1762 1.000000 \n",
|
||
"18943 Menzel 0.5950 4.542857 \n",
|
||
"\n",
|
||
" ClusteringCoefficient ClosenessCentrality IsSingleNode ... \\\n",
|
||
"18610 0.025000 0.440476 False ... \n",
|
||
"18778 0.294872 0.321101 False ... \n",
|
||
"18799 0.127273 0.280000 False ... \n",
|
||
"18694 0.333333 0.321101 False ... \n",
|
||
"18712 0.066667 0.381443 False ... \n",
|
||
"... ... ... ... ... \n",
|
||
"19048 0.000000 0.235669 False ... \n",
|
||
"19045 0.000000 1.000000 False ... \n",
|
||
"19042 0.000000 1.000000 False ... \n",
|
||
"19039 0.000000 1.000000 False ... \n",
|
||
"18943 0.000000 0.220126 False ... \n",
|
||
"\n",
|
||
" SelfLoops Eccentricity Stress Degree BetweennessCentrality \\\n",
|
||
"18610 0 5 1062 16 0.797297 \n",
|
||
"18778 1 6 962 15 0.402857 \n",
|
||
"18799 0 7 1328 11 0.401681 \n",
|
||
"18694 0 6 1034 7 0.281793 \n",
|
||
"18712 0 6 626 6 0.469970 \n",
|
||
"... ... ... ... ... ... \n",
|
||
"19048 0 8 0 1 0.000000 \n",
|
||
"19045 0 1 0 1 0.000000 \n",
|
||
"19042 0 1 0 1 0.000000 \n",
|
||
"19039 0 1 0 1 0.000000 \n",
|
||
"18943 0 8 0 1 0.000000 \n",
|
||
"\n",
|
||
" NeighborhoodConnectivity NumberOfDirectedEdges \\\n",
|
||
"18610 1.812500 0 \n",
|
||
"18778 4.692308 0 \n",
|
||
"18799 2.818182 0 \n",
|
||
"18694 4.571429 0 \n",
|
||
"18712 4.333333 0 \n",
|
||
"... ... ... \n",
|
||
"19048 4.000000 0 \n",
|
||
"19045 1.000000 0 \n",
|
||
"19042 1.000000 0 \n",
|
||
"19039 1.000000 0 \n",
|
||
"18943 11.000000 0 \n",
|
||
"\n",
|
||
" NumberOfUndirectedEdges Radiality TopologicalCoefficient \n",
|
||
"18610 16 0.920608 0.091346 \n",
|
||
"18778 14 0.837363 0.329670 \n",
|
||
"18799 11 0.802198 0.223140 \n",
|
||
"18694 7 0.837363 0.268908 \n",
|
||
"18712 6 0.898649 0.183333 \n",
|
||
"... ... ... ... \n",
|
||
"19048 1 0.797297 0.000000 \n",
|
||
"19045 1 1.000000 0.000000 \n",
|
||
"19042 1 1.000000 0.000000 \n",
|
||
"19039 1 1.000000 0.000000 \n",
|
||
"18943 1 0.727473 0.000000 \n",
|
||
"\n",
|
||
"[158 rows x 21 columns]"
|
||
]
|
||
},
|
||
"execution_count": 192,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"node_table.sort_values(by='Degree', ascending=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "b4ebe14c-2b23-4da2-8be6-2223add935af",
|
||
"metadata": {},
|
||
"source": [
|
||
"---"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 193,
|
||
"id": "7386bd66-1924-4199-84d2-a6d1a66def40",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"node_table['stress_norm'] = node_table['Stress'] / node_table['Stress'].max()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 194,
|
||
"id": "9422c085-e30e-4418-8c74-26d89edf0ad4",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"node_table['w_deg with betweenness'] = node_table['weight_degree'] * node_table['BetweennessCentrality'] * node_table['stress_norm']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "e9795c94-cb76-452e-9eda-2285d050fd1b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 195,
|
||
"id": "a2fb09ff-bf2e-48d1-9ceb-777efe0b0b40",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"node_table_sorted = node_table.sort_values(by='w_deg with betweenness', ascending=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 196,
|
||
"id": "6ae4b7b9-75db-4b80-bd46-53ea25b06829",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>SUID</th>\n",
|
||
" <th>shared name</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>selected</th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>weight_degree</th>\n",
|
||
" <th>AverageShortestPathLength</th>\n",
|
||
" <th>ClusteringCoefficient</th>\n",
|
||
" <th>ClosenessCentrality</th>\n",
|
||
" <th>IsSingleNode</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>Stress</th>\n",
|
||
" <th>Degree</th>\n",
|
||
" <th>BetweennessCentrality</th>\n",
|
||
" <th>NeighborhoodConnectivity</th>\n",
|
||
" <th>NumberOfDirectedEdges</th>\n",
|
||
" <th>NumberOfUndirectedEdges</th>\n",
|
||
" <th>Radiality</th>\n",
|
||
" <th>TopologicalCoefficient</th>\n",
|
||
" <th>stress_norm</th>\n",
|
||
" <th>w_deg with betweenness</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>18610</th>\n",
|
||
" <td>18610</td>\n",
|
||
" <td>Kontrolle</td>\n",
|
||
" <td>Kontrolle</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Kontrolle</td>\n",
|
||
" <td>6.2472</td>\n",
|
||
" <td>2.270270</td>\n",
|
||
" <td>0.025000</td>\n",
|
||
" <td>0.440476</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1062</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>0.797297</td>\n",
|
||
" <td>1.812500</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>0.920608</td>\n",
|
||
" <td>0.091346</td>\n",
|
||
" <td>0.604096</td>\n",
|
||
" <td>3.008925</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18585</th>\n",
|
||
" <td>18585</td>\n",
|
||
" <td>Wartungstätigkeit</td>\n",
|
||
" <td>Wartungstätigkeit</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Wartungstätigkeit</td>\n",
|
||
" <td>3.1190</td>\n",
|
||
" <td>2.714286</td>\n",
|
||
" <td>0.133333</td>\n",
|
||
" <td>0.368421</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1758</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>0.571429</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>0.868132</td>\n",
|
||
" <td>0.242424</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>1.782286</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18778</th>\n",
|
||
" <td>18778</td>\n",
|
||
" <td>Herr</td>\n",
|
||
" <td>Herr</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Herr</td>\n",
|
||
" <td>5.4802</td>\n",
|
||
" <td>3.114286</td>\n",
|
||
" <td>0.294872</td>\n",
|
||
" <td>0.321101</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>962</td>\n",
|
||
" <td>15</td>\n",
|
||
" <td>0.402857</td>\n",
|
||
" <td>4.692308</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>14</td>\n",
|
||
" <td>0.837363</td>\n",
|
||
" <td>0.329670</td>\n",
|
||
" <td>0.547213</td>\n",
|
||
" <td>1.208102</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18799</th>\n",
|
||
" <td>18799</td>\n",
|
||
" <td>Firma</td>\n",
|
||
" <td>Firma</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Firma</td>\n",
|
||
" <td>3.6372</td>\n",
|
||
" <td>3.571429</td>\n",
|
||
" <td>0.127273</td>\n",
|
||
" <td>0.280000</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1328</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>0.401681</td>\n",
|
||
" <td>2.818182</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>0.802198</td>\n",
|
||
" <td>0.223140</td>\n",
|
||
" <td>0.755404</td>\n",
|
||
" <td>1.103640</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18592</th>\n",
|
||
" <td>18592</td>\n",
|
||
" <td>Vorgabe</td>\n",
|
||
" <td>Vorgabe</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Vorgabe</td>\n",
|
||
" <td>4.1454</td>\n",
|
||
" <td>2.885714</td>\n",
|
||
" <td>0.400000</td>\n",
|
||
" <td>0.346535</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1106</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0.315406</td>\n",
|
||
" <td>4.600000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0.854945</td>\n",
|
||
" <td>0.383333</td>\n",
|
||
" <td>0.629124</td>\n",
|
||
" <td>0.822570</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 23 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" SUID shared name name selected \\\n",
|
||
"18610 18610 Kontrolle Kontrolle False \n",
|
||
"18585 18585 Wartungstätigkeit Wartungstätigkeit False \n",
|
||
"18778 18778 Herr Herr False \n",
|
||
"18799 18799 Firma Firma False \n",
|
||
"18592 18592 Vorgabe Vorgabe False \n",
|
||
"\n",
|
||
" id weight_degree AverageShortestPathLength \\\n",
|
||
"18610 Kontrolle 6.2472 2.270270 \n",
|
||
"18585 Wartungstätigkeit 3.1190 2.714286 \n",
|
||
"18778 Herr 5.4802 3.114286 \n",
|
||
"18799 Firma 3.6372 3.571429 \n",
|
||
"18592 Vorgabe 4.1454 2.885714 \n",
|
||
"\n",
|
||
" ClusteringCoefficient ClosenessCentrality IsSingleNode ... Stress \\\n",
|
||
"18610 0.025000 0.440476 False ... 1062 \n",
|
||
"18585 0.133333 0.368421 False ... 1758 \n",
|
||
"18778 0.294872 0.321101 False ... 962 \n",
|
||
"18799 0.127273 0.280000 False ... 1328 \n",
|
||
"18592 0.400000 0.346535 False ... 1106 \n",
|
||
"\n",
|
||
" Degree BetweennessCentrality NeighborhoodConnectivity \\\n",
|
||
"18610 16 0.797297 1.812500 \n",
|
||
"18585 6 0.571429 3.000000 \n",
|
||
"18778 15 0.402857 4.692308 \n",
|
||
"18799 11 0.401681 2.818182 \n",
|
||
"18592 5 0.315406 4.600000 \n",
|
||
"\n",
|
||
" NumberOfDirectedEdges NumberOfUndirectedEdges Radiality \\\n",
|
||
"18610 0 16 0.920608 \n",
|
||
"18585 0 6 0.868132 \n",
|
||
"18778 0 14 0.837363 \n",
|
||
"18799 0 11 0.802198 \n",
|
||
"18592 0 5 0.854945 \n",
|
||
"\n",
|
||
" TopologicalCoefficient stress_norm w_deg with betweenness \n",
|
||
"18610 0.091346 0.604096 3.008925 \n",
|
||
"18585 0.242424 1.000000 1.782286 \n",
|
||
"18778 0.329670 0.547213 1.208102 \n",
|
||
"18799 0.223140 0.755404 1.103640 \n",
|
||
"18592 0.383333 0.629124 0.822570 \n",
|
||
"\n",
|
||
"[5 rows x 23 columns]"
|
||
]
|
||
},
|
||
"execution_count": 196,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"node_table_sorted.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 197,
|
||
"id": "a5f22fd0-e002-43ec-8dc3-99eb52f8bcd2",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"node_table_choice = node_table_sorted.iloc[:5,:]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 198,
|
||
"id": "c123cdd7-f000-4a60-9dc2-73b8a4410e31",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>SUID</th>\n",
|
||
" <th>shared name</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>selected</th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>weight_degree</th>\n",
|
||
" <th>AverageShortestPathLength</th>\n",
|
||
" <th>ClusteringCoefficient</th>\n",
|
||
" <th>ClosenessCentrality</th>\n",
|
||
" <th>IsSingleNode</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>Stress</th>\n",
|
||
" <th>Degree</th>\n",
|
||
" <th>BetweennessCentrality</th>\n",
|
||
" <th>NeighborhoodConnectivity</th>\n",
|
||
" <th>NumberOfDirectedEdges</th>\n",
|
||
" <th>NumberOfUndirectedEdges</th>\n",
|
||
" <th>Radiality</th>\n",
|
||
" <th>TopologicalCoefficient</th>\n",
|
||
" <th>stress_norm</th>\n",
|
||
" <th>w_deg with betweenness</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>18610</th>\n",
|
||
" <td>18610</td>\n",
|
||
" <td>Kontrolle</td>\n",
|
||
" <td>Kontrolle</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Kontrolle</td>\n",
|
||
" <td>6.2472</td>\n",
|
||
" <td>2.270270</td>\n",
|
||
" <td>0.025000</td>\n",
|
||
" <td>0.440476</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1062</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>0.797297</td>\n",
|
||
" <td>1.812500</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>0.920608</td>\n",
|
||
" <td>0.091346</td>\n",
|
||
" <td>0.604096</td>\n",
|
||
" <td>3.008925</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18585</th>\n",
|
||
" <td>18585</td>\n",
|
||
" <td>Wartungstätigkeit</td>\n",
|
||
" <td>Wartungstätigkeit</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Wartungstätigkeit</td>\n",
|
||
" <td>3.1190</td>\n",
|
||
" <td>2.714286</td>\n",
|
||
" <td>0.133333</td>\n",
|
||
" <td>0.368421</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1758</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>0.571429</td>\n",
|
||
" <td>3.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>6</td>\n",
|
||
" <td>0.868132</td>\n",
|
||
" <td>0.242424</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>1.782286</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18778</th>\n",
|
||
" <td>18778</td>\n",
|
||
" <td>Herr</td>\n",
|
||
" <td>Herr</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Herr</td>\n",
|
||
" <td>5.4802</td>\n",
|
||
" <td>3.114286</td>\n",
|
||
" <td>0.294872</td>\n",
|
||
" <td>0.321101</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>962</td>\n",
|
||
" <td>15</td>\n",
|
||
" <td>0.402857</td>\n",
|
||
" <td>4.692308</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>14</td>\n",
|
||
" <td>0.837363</td>\n",
|
||
" <td>0.329670</td>\n",
|
||
" <td>0.547213</td>\n",
|
||
" <td>1.208102</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18799</th>\n",
|
||
" <td>18799</td>\n",
|
||
" <td>Firma</td>\n",
|
||
" <td>Firma</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Firma</td>\n",
|
||
" <td>3.6372</td>\n",
|
||
" <td>3.571429</td>\n",
|
||
" <td>0.127273</td>\n",
|
||
" <td>0.280000</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1328</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>0.401681</td>\n",
|
||
" <td>2.818182</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>11</td>\n",
|
||
" <td>0.802198</td>\n",
|
||
" <td>0.223140</td>\n",
|
||
" <td>0.755404</td>\n",
|
||
" <td>1.103640</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>18592</th>\n",
|
||
" <td>18592</td>\n",
|
||
" <td>Vorgabe</td>\n",
|
||
" <td>Vorgabe</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>Vorgabe</td>\n",
|
||
" <td>4.1454</td>\n",
|
||
" <td>2.885714</td>\n",
|
||
" <td>0.400000</td>\n",
|
||
" <td>0.346535</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1106</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0.315406</td>\n",
|
||
" <td>4.600000</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0.854945</td>\n",
|
||
" <td>0.383333</td>\n",
|
||
" <td>0.629124</td>\n",
|
||
" <td>0.822570</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 23 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" SUID shared name name selected \\\n",
|
||
"18610 18610 Kontrolle Kontrolle False \n",
|
||
"18585 18585 Wartungstätigkeit Wartungstätigkeit False \n",
|
||
"18778 18778 Herr Herr False \n",
|
||
"18799 18799 Firma Firma False \n",
|
||
"18592 18592 Vorgabe Vorgabe False \n",
|
||
"\n",
|
||
" id weight_degree AverageShortestPathLength \\\n",
|
||
"18610 Kontrolle 6.2472 2.270270 \n",
|
||
"18585 Wartungstätigkeit 3.1190 2.714286 \n",
|
||
"18778 Herr 5.4802 3.114286 \n",
|
||
"18799 Firma 3.6372 3.571429 \n",
|
||
"18592 Vorgabe 4.1454 2.885714 \n",
|
||
"\n",
|
||
" ClusteringCoefficient ClosenessCentrality IsSingleNode ... Stress \\\n",
|
||
"18610 0.025000 0.440476 False ... 1062 \n",
|
||
"18585 0.133333 0.368421 False ... 1758 \n",
|
||
"18778 0.294872 0.321101 False ... 962 \n",
|
||
"18799 0.127273 0.280000 False ... 1328 \n",
|
||
"18592 0.400000 0.346535 False ... 1106 \n",
|
||
"\n",
|
||
" Degree BetweennessCentrality NeighborhoodConnectivity \\\n",
|
||
"18610 16 0.797297 1.812500 \n",
|
||
"18585 6 0.571429 3.000000 \n",
|
||
"18778 15 0.402857 4.692308 \n",
|
||
"18799 11 0.401681 2.818182 \n",
|
||
"18592 5 0.315406 4.600000 \n",
|
||
"\n",
|
||
" NumberOfDirectedEdges NumberOfUndirectedEdges Radiality \\\n",
|
||
"18610 0 16 0.920608 \n",
|
||
"18585 0 6 0.868132 \n",
|
||
"18778 0 14 0.837363 \n",
|
||
"18799 0 11 0.802198 \n",
|
||
"18592 0 5 0.854945 \n",
|
||
"\n",
|
||
" TopologicalCoefficient stress_norm w_deg with betweenness \n",
|
||
"18610 0.091346 0.604096 3.008925 \n",
|
||
"18585 0.242424 1.000000 1.782286 \n",
|
||
"18778 0.329670 0.547213 1.208102 \n",
|
||
"18799 0.223140 0.755404 1.103640 \n",
|
||
"18592 0.383333 0.629124 0.822570 \n",
|
||
"\n",
|
||
"[5 rows x 23 columns]"
|
||
]
|
||
},
|
||
"execution_count": 198,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"node_table_choice"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 199,
|
||
"id": "6f68b890-6c80-4750-a35c-ee29b594462d",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"nodes_to_select = node_table_choice['SUID'].to_list()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 200,
|
||
"id": "6d94b18f-2590-4d1b-b165-300466bfd1b1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"''"
|
||
]
|
||
},
|
||
"execution_count": 200,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.clear_selection()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 239,
|
||
"id": "62cf521b-e709-4086-9f3d-3e3f8dd9faaa",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{}"
|
||
]
|
||
},
|
||
"execution_count": 239,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.select_nodes(nodes_to_select[0])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "fdeeccd4-3e7c-4c76-a024-f45540142c4a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 202,
|
||
"id": "a371ce7a-d9b9-4158-a0cb-797834a16f97",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"iter_depth = 2\n",
|
||
"\n",
|
||
"for _ in range(iter_depth):\n",
|
||
" _ = p4c.select_first_neighbors()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 203,
|
||
"id": "cce979e2-65f1-4896-8758-659ff21c315b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"_ = p4c.select_edges_connecting_selected_nodes()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "23157e10-02c6-4adb-8a36-4bdbfe5f9f4b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 206,
|
||
"id": "2038fd62-b75f-4ba1-b258-53789b4665b7",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"20402"
|
||
]
|
||
},
|
||
"execution_count": 206,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.create_subnetwork(nodes='selected', edges='selected', subnetwork_name='test_sub_1')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "12828271-fea9-4e4a-98c3-87860992a6db",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "f367b253-2172-4dce-9379-a3ed95f3368e",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "49ad6a55-2a12-44c4-a193-2fbb3da84bcf",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 205,
|
||
"id": "7de95550-c077-467f-a962-5e84ddf430c7",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{}"
|
||
]
|
||
},
|
||
"execution_count": 205,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.fit_content(selected_only=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "b73934d1-f16a-4ef9-8969-b1be8e7310f5",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "783cb7d6-c6b1-4a9b-8019-02ce2628dde9",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 314,
|
||
"id": "697647da-3b8b-4029-bec9-af2e2bb6984a",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['attribute-circle',\n",
|
||
" 'attribute-grid',\n",
|
||
" 'attributes-layout',\n",
|
||
" 'circular',\n",
|
||
" 'cose',\n",
|
||
" 'degree-circle',\n",
|
||
" 'force-directed',\n",
|
||
" 'force-directed-cl',\n",
|
||
" 'fruchterman-rheingold',\n",
|
||
" 'grid',\n",
|
||
" 'hierarchical',\n",
|
||
" 'isom',\n",
|
||
" 'kamada-kawai',\n",
|
||
" 'stacked-node-layout']"
|
||
]
|
||
},
|
||
"execution_count": 314,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"sorted(list(p4c.get_layout_name_mapping().values()))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 186,
|
||
"id": "fa15c057-d453-4c7e-8af2-18220ea90651",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['numIterations',\n",
|
||
" 'defaultSpringCoefficient',\n",
|
||
" 'defaultSpringLength',\n",
|
||
" 'defaultNodeMass',\n",
|
||
" 'isDeterministic',\n",
|
||
" 'singlePartition']"
|
||
]
|
||
},
|
||
"execution_count": 186,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.get_layout_property_names('force-directed')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 259,
|
||
"id": "6f48d9cc-f527-4b33-9477-60636a480371",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"LAYOUT_NAME = 'force-directed'\n",
|
||
"LAYOUT_PROPERTIES = {\n",
|
||
" 'numIterations': 1000,\n",
|
||
" 'defaultSpringCoefficient': 1e-4,\n",
|
||
" 'defaultSpringLength': 45,\n",
|
||
" 'defaultNodeMass': 11,\n",
|
||
" 'isDeterministic': True,\n",
|
||
" 'singlePartition': False,\n",
|
||
"}"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 188,
|
||
"id": "d542b2ea-11d5-4802-b1b9-65e5e12f6d38",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"''"
|
||
]
|
||
},
|
||
"execution_count": 188,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.set_layout_properties('force-directed', layout_props)\n",
|
||
"#p4c.get_layout_property_type('kamada-kawai', 'randomize')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "8eb62660-27a6-43a0-be19-4c4479eac8d7",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 189,
|
||
"id": "c1069996-b638-4bfa-8ad4-f750a33022d6",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{}"
|
||
]
|
||
},
|
||
"execution_count": 189,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.layout_network(layout_name='force-directed', network='test3')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "c7f5c1e6-8e32-4e90-b531-38611fef85ce",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"p4c.fit_content(selected_only=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 34,
|
||
"id": "8802c969-c3f4-433a-8cab-c6704fa03039",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# visual style gets always imported with increasing index,\n",
|
||
"# later check if style in Cytoscape is already available\n",
|
||
"styles_avail = p4c.get_visual_style_names()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 35,
|
||
"id": "1b6023ef-b4a2-4cf3-92ef-01419fc5258a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"if 'lang_main' not in styles_avail:\n",
|
||
" p4c.import_visual_styles('lang_main.xml')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 36,
|
||
"id": "3e27695b-5b26-4176-9bc9-adb91d848025",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"assert 'lang_main' in p4c.get_visual_style_names()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "4083b72d-f321-4489-be19-6167f13ab226",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 37,
|
||
"id": "59234fed-cc38-4ee3-9ef8-9180e7785ea5",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'message': 'Visual Style applied.'}"
|
||
]
|
||
},
|
||
"execution_count": 37,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.set_visual_style('lang_main')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "2653d1af-b3a5-4da7-9066-0940cb913dab",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "fd5fd222-75fd-4523-8401-a4a37c6010fd",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 79,
|
||
"id": "d972ff5a-e695-43b6-b8c5-ab295fd5de3d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABBcAAAHoCAYAAAASQAdaAACAAElEQVR4Xuzd+VNjWZYn+P53ammrmenpsun5oarHqqfNembMuju7y9q6pm2mrdbMya7MrM6tsjIyKjIyY/GI8Ihwj/A93ME3cMBxnH1fxSqxCARIQiuSEAIh9sVZz+h7CeHiPQECSSDE94ePAfc9iU3Lu+eee84/2RARIiIiIiIiIqKz+ifaASIiIiIiIiKi02BwgYiIiIiIiIhSwuACEREREREREaWEwQUiIiIiIiIiSgmDC0RERERERESUEgYXiIiIiIiIiCglDC4QERERERERUUoYXCAiIiIiIiKilDC4QEREREREREQpYXCBiIiIiIiIiFLC4AIRERERERERpYTBBSIiIiIiIiJKCYMLRERERERERJQSBheIiIiIiIiIKCUMLhARERERERFRShhcICIiIiIiIqKUMLhARERERERERClhcIGIiIiIiIiIUsLgAhERERERERGlhMEFIiIiIiIiIkoJgwtERERERERElBIGF4iIiIiIiIgoJQwuEBEREREREVFKGFwgIiIiIiIiopQwuEBEREREREREKWFwgYiIiIiIiIhSwuACEREREREREaWEwYWo5b0NmduJyLrs6Y4RERERXQaLuyuysLuoGyeiw1b23nx77b+rO0aXD1738PqnHc91a3tb6nG8uretO3ZRrnxwYWlvTbyOWxJu+654Voy640RERETZbnZnRgKD/yih3p9IcNunO05E+xBYcHseylzLX4l7yaA7TpcLXu/wuofXP7wOao/nqjXZEWfwpcw1/4U4ZyuzZpH8ygcXZrdDsljzn2Xv3u+I25unO05ERESU7SY3J2Tryf8iuw9+X1yr/brjRLQPK72YkOHa32u/qTtOl8Pa7p4MTARkZKZTve7h9Q+vg9rzctXS7pqEen+qHsdTA+/Kyt6m7pyLcOWDC0gjsc7UqReX4LZfd5yIiIgo23nnQzLhKxT3ZL5EdhZ0x+ky2lMT4cXd1QTH6KzGfCEZDTWL1/qFBDZduuOU3cJrG/K81iQPXnWKYdgtM5sRcXry1evfVdoaMTY5I+ZQp3jHr4tv3aI7flGufHAB7pXup0St7+7K0sbGkZY3syMiRERERBTv3kuDzL/ZUp+vbm/rrmFi1veyI3WWDlvc3BbHdEStxA45pxTXyqjMtn9XfKMfy/wuA0bpEFhYkTvF7QfPg5Ou/U/C59P5QaZCefuIPHzdJcHFtwE3V2hBKjtHpcPsEuO4V/c/ysX/E35nzF8PHsfRj9rfORnLb97o7jtVVz644Jyel6quMfU5/sjW1nKxVD6R4bKHEvB5xNlvEHPpA7F3N0goNKW7PREREdFFGnRMSX2f7eBrZ2etuC394uhrkZHyvOg1TKME/N7o9cx9FXjQ3p4uhmd2UQrr+9UK7NPqPqnrtR4EFxpNdrGHqmTv3u/KWun/IcGtSd3t6XQW3mzJjYIW9TE2hskVrvlHqp6q6357V704eptlIvqciT1vHH2tYm1+JcGpgDhM7TJW90KcA51iM1TLytbb+8qk+Y1NcYbmxWT3q8cG4HFi8YRUYCp23urepkR25nOuUOXc2hv5+kWbWq3XHittMaugET6vzrsvY02v1P/J73HI8Kv74hrslsXl3AnOhZbW1N9iZeft/xiv6/idrW2V6vee6GoQR0+LmsP6vU71XoC/g8PUdug9AY/txaWI7nuk4soHF0qaBg+iXwguDBbelJGKfBl+eU+9wIxUPxNL9XMxXPu+eMw9utsTERERXSRcaMavzI1W5IklOlmyRS80EVDo+uxHarHElPcRgwtZAEGFb8q61KQotLymOx4T3pkVt+cbcYRrpKilT3ecTudxVa8E5g+nzSO4MFR8W3rv/Epd9481loop/5oa6/z0B+p5Y22rEMNnP5BJh1UGCm6I8eEH0efXMxl49nlGgwsTwYgUNQyo4NPjqj6p77OK0eZXC6NDzqAKLjT3T6hjOKewoVdcvieqUKVrsU13f5eVL7IsXxW2yszyuu4Y3I/+7rHPh8ofS8vTu+r/ZG0pVx/7H38qQbtZd7vLCllqkfXDGQd4Xcfvitd4W2ed9D/5VAajj2HMYW3tVeq9AH8HPK7j3xPw2PaPdOu+RyqufHABqTWxz/ECMxuJHCmyvKy7PREREdFFsfrDasU7fmxhdVV3DROztrOjuw86P9XdY/Ks1niwhSVZZodfqg3DurTmTKc45wpMyF82D+nGseVZ+xwBn3X48Njc3OGP38pEsM7sCsqdkg6V6n9c8Elr5k1Ywq1/owr8TY59ljXdA1KB+go3C1tlaevov/PD128nx/MrK+KcDIjBaBGXb0rsbp9i8QTFH1lWGRDa218mXaMeaR106Mbxun7osal5nB4n3VtGGFyIe0ASERERXSZPqvskss6aUNkOF/BY0Oqznq1NqKO7QWwur5haG2Ui+rml+pkEg/tp+kjPn5wYV2nPy+tXp6Ddadwubj92gpoNZlc2VFCh0WiX1biU92RhKwRaayKw4H+jn4BeNqu7uypjIby6oTsWgy0hT2r6xBh9XiEbCPU08BHe+bpcanrGD7YZ1XSPH2xDwnGMTS0siWd1UDzTryS8E9bdfzbB3+NWUfZnpDC4EJe5QERERHSZ3P+2KDVlr/W96PVmebeM+2Z1x5I1XHJHfC6bNH31a+n95kPpuvEztbcaqdA9t9+R8eYylfY848yeqvHZAvv0tdk92abf7lcT4+Mm0qdx2gJ/mcjASFV5x4iMevU1FmK84UX5OjrZ/sdbFdI25FRZDvHHl7d3pKR5SM31tLUa8PfB87HNNigLdf9FZXu4Ay903yOboDMGtsVox7PNlQ4u4IH1qIJ1FIiIiOjywf5xVE/XjlN2qTBYpH8ioBs/jbnFRZXCHJwNi8E0dij92T1gkCmPQ32tvR2J5Ff2qoKI2vFs0WXxqBpw2vFUrGxuHhTxs7VXis1Qo4JRGButL/62mN+3xw21EgqeLaMmU1APL68y8RwNx5B9kBedw414Qur5pT0n3uLWtjQYbaq7Au4T2QvIXPjgQY18Vlgp/uEPZLnqT8W91KG7bTZBVgsCldrxbHOlgwuASLJ2jIiIiCjb9YxNqhVP7ThlDwSAMLnVjqeiumtM7IHsTuHOFthegImkdjxboPsDJrva8VQhuBAr4odilV1f/lgVOMQYitSjmN9Bkb+iW+Lqa9bdx0V6WmNU20S043jsY4tLLEsBH4sbTxeYmV5ak69etEr3qFd9Pb+7KNPbAVndy77sjRgEVJCFoR3PRgwuMLhARERElxAK1J2m4BudP1xnpnvVPBK9v3QHLHIV2rQiM0A7ng1iK/Da8XRAF4tYdosqTnlCgT8UgdXex0VBi0Xt3wXtQxFUaBk4XEsCwaOjMhwSQVAO94PnkPYYCqJOz84mbXHt/F5724ecMuKZ1o1noysfXMjmaCYRERHRUZAWnO5K35Q+mBDhf6QdTwdcv2JPuXacDitrHZaphewscok0/cvevSATkJGFAo2xr5GdcKOgRXV70J4Lyc7l3LMLcvdlh6ztJn7NRO0JtCIdfPGVBHweld1hLn0gfq/zYAuJvbtexlteqy0mk8Pnt0CNYOJleb5f+eACinzwjZmIiIguG2ZfZq/IzoKMzg+LbXZSdywd0I5OW6SO9DJRuB2TvCFnUO31R4Dg86dNqrAqUu3hWl69+ogVdUwKO8wu8YaXDm4/v7sg5imbtCRoKUiitolE1veDLmjZisBCoi0SMQjgIdtBOx4PGQ7oPHHceQguWCqfSNeXPxV7V72MVD8TS/VzsbVXHWwhMeVfE8Onf6u2mHhMrbr7yJRMPI4z5coHF9Bv2Bma140TERERZTO2085Oa3vb4p34Wrbz/1B9fNnaryZMz2qNUlBnEsOwSxzTqfWXd88sqP3n2nE6LF2TMnRxQCvDey8NajKL/yHmD2iFqD03HibJ2Nv/uKpXbkYntw3mfgmafinz9f+v+DZGdedfFuuyJ+GdWYnspH8OFctEwPPjVlG72j6iPSceuiicVHumtMUs9qk53Xi89d1dXRcNrcCYScKhgPoc52vvI1Mu02v9lQ8u4MW5vOP4KqNERERE2eZ5rUmt7GnH6WKt7m2Kb+wT1d4OH/2L8wep2JH1TdVeD4tbWPXG/9A5ffoJGiZel2nCcVFS/RtZ/WE12UWBwZMmp8mY2vLK2st/I3v3f09c802645fF5BubRBr/XKaNP5fZnfRm0MT+Z2VtwzLsPrnOALISjmvJu7S1LfczVNvivKT6OD5PVz64AGjtoR0jIiIiymZMjc9emHBNLBtlaMqqO3bovJUNeR2dRKGA3UkrtFqXacJxUc76N4rtz6/sHFWTU+3xs0LgyTXfKu5gaUZW/c8D/h7j4VbZffBPZePFn8hI2JJSFo4W/meTc0sq0yc2hv9Ho8muMoCgqGFAFXfE6x8Cdxg76vmD18lkghTZ7KyP44vA4EJUU/TBelkqcGqtyY64VwfEHSqTuR32NyYiIroqsJLaaLTrxik7YMKVX9Ejc4uLEl5YOFZwdk7ajaNiHJnQHYNElelZc+Nkp52UYRW8qHFATVZRkFN7PJ3Q0QH/10S052aL5v4JuVPcLo65gLiicw97uF6e1HapGhMnbU1IxrrsSsOwUQqausUXWVL/C2T4IMiD1zsUdUTdBBTCtPpmVeAAmSW3izvkk7x63f0BHgOr57iFIRPStb3nPDC4IPuFWW4VtenGL4PQdlCWqv/TfnpV9EmuPU5ERES5CdcvjzLUjYDS43l1nwyXPRRHf4c4TO0yWvtCrE2vVOV5m6FGJroaJDgVUK3tUCSurzRfenuN0dt8oyrS43a29moJhaZ0933aifNVlGwnAcDEFcUD0a5QeywTUBAQ/3c8FhymNlU0MPa40J570fBag8db16hHd8w45pbGnlHpMk+ooMz6nv72yfIs98pC/X8Rr+1LKW3vO7JDhBaCB7eL2+S396rFpvn/XaaJ+VEu0+9wbsGF2ZV19QCJyUQ7DbQqQS9bFE35+kWbKpyCXqZPoi/sKMCiPpYa1HFEugLzb1vT9I5Pqmic9j6zHSrOBobek+WqPxVzsCUjf1ciIiLKTpg8YbVVO07ZobDeKENFt8TaWi6WqmdiuPZ9Gal4rCrPY7z/yacy6bCKc6BTzC/vSe+dd2SkuUqq3/+ejLeUq4r1HR99TzxmfRDpMk04LkqywQV0f8Bc4aQCjek0WvZAfC7b/mOh+LaMN5cdPC60514kbDvAfAp16rTHwNXXIvYJlxhqq6VrYEz9Hc+aKeCefKxqlSzW/pnMbod0x09yp6RdHpZ3SXnHyMFYLgThnteZLk3b0owFF9BTtrhxUP1DUWTjVatZ7ZWB+j6rqrQKKLCBlL75jU3dfSQDKUtVXWMq0ojAAYIEiyfsjcKbMPbooFAIXnTwc0wEI+rnnF7K3lSkoyDAML0dkDvFrfLhw1pVLEh7zklW97b2t1cs98jy3rruOBEREWUf9ITHtY92nLJDcdOghOYXJLK8vG9p6e3nib7+ljcYkjqDWbzDPTId8Mri+uFrM1z/ohik9vtdBlgIiy02hjJ83Y25yHFtDMFo88vT6j7deKah44B2+0uM9tyLhMVZbTZAvMHnn6sA2UjlM8m7+43kV/acOqMKC8SPq/qk3TYgTs8jcS0a1NZv7XknwWMLC8xtQ05Vx2S/8GlyAaZshnkrtvFrx7NR2oMLePChAAqezAgwaI8ngj8YHlB4ECTbFhLVkV80DKgHTKrpSwhsoFftV9EH47u3K058EcpWC2tr0me2SkffiPiD0yrVKlmulTHZKPpXsp3/z8WzNqi7byIiIso+WDBBuzbtOGUHTLJinSJOC6vpJU2Jr8lw7YsFO+14NsLvb7L71YIe6kTkRSefscJ8WHzEGOYAuK7H6vji7opMbtrT0oUAdQCQ1awdjzG7gqoThHac9uExeFLLUwTIEBBBbRF8jcfmB9/Uyoff1Km//1EdbfC4GHRMSX5lr3oMoCAjPtb2jKsuHQioaWtRHCX+fhF4Q6ZFTfTnxiJ3stkr2QxbTS5Lx4uUgwuoejqzPS2RzTUVQUUf0bOm56H6aEnzkMokwDYK7fEY9JZFhwdveEl3LFWtAw75/gcF0mf16Y4dB1ssLJ5Q9Ek4pSJLeMHvMLvU1/g5zyOVBU+ugYIb0l2SJ/UlRWJpKhO/1yWj9cUS8HtVGp69q16842a178/aViGO3uboWIMM+4yqpcxy5X8U3xub7r6JiIgoO7UPOaV71Ksbp4uX6sQG19WJWiCWt49k5Do4nTAhajDaVAFATPBRiE97TrzQ8ppa7JvwFch2/h/K1MA/qkCD9rzTwAT2qDaF6EiAFP5UagTkOmQBnLUTBCb4bUMulfmAAILKWI/+L1SQ6XWXCrxhrhTbiuIKLagCjrEuOPbOOjVfia89gvmMo69FbScZb3l9cGx+Nqj7/igC+bg2ejt/sbj8z1Smt/acywTBN99cdj/nIaXgAtJVXFOFslT1p9EXgkLxzKXnn4bAAqLw2vZKeFFCRAsPOu1t0ikQWZafflYiXzxrVt9zeW/jUGpOYGFFarrHD6JheHKUtQ6rnwvBhHiGYbfaBoLAC55QeGLhCWa0+k7cvnFaCC4Yv/mtDBbeFFNNiVT+6i+kr69fmn7zNzLR164KxXRe/6E6jiBEz8OPpfXW+1J//Rcy2t0ioe0p6XT1nykNiYiIiC4OJgGsu5Rd1HVrivu9cR/432rHsRVYO5ZNsAr9VWGr9E8EdMdO4p7Ml90Hvy+h3p/Kwm7qkylkJiDtPn4MNQFQmy2dbSZzDdo3plKPDsEvTIi144kggIHHC17DsECL7Adz0S0xPvpQFTqN1R5x9hvUfAb1S0z5H4uts04dmzQ16+4T3Os22Xr6v6q2me7Vy7mNKAaZ9tn+vIeUgguYdAdNv1SFN6b631Ffa885KzzICupM0jJoU5kR0xth1ebkqGIi6YYo5qPybmkab1W/oytQIBVdQypAgBQ11GjQ3iZZSNfB/kgEGbCFpLbXeqY6CVprOztq/1ZMVYdZPNNzYnEF1OdlLQNSVNcnpY398rLBKO0DNvHPzqtzlzf3vz/eBBGkmI1EkhJLgSIiIqKL4w0vfrsKe7ZVRko/ZMFqM0pQ20u7EIVryuMCQ6irgcWq+PvACq/2vGyBTAt0YTtrK8fIzkJ0UjgsBmd/StfbMZg7YLt2/BgypZF6rz2X3sKC6HGPy2RgETaZ+8D/Bxng+Bxb5RH0wVaL2bk5Nd9wDxhkyuPQzUNixxYXEv8vsbVmauBXMtP5Q5naymx2F7L5vdHHLeBz7fF0qOkelbGZCVVrD207tcezQUrBBZjcsIvbmye+jczs+7LOdclizX+WwND7Elg9fdXQVHncD/erllb/J/Gvpd6/NRG8uOGJhL00o97U95fFYCsGXhi048dBcGG07BsVEYylIiH1yNZRrd9O0d0o08HM/E2IiIjodGI1rNb2tmRxd1V3nM4X0sKnFlf26wqgwHn0Og/FxBF0iA8uYI856hDEMmKxABW/hQALXggcxb5G8UFkBmi/XzZAgUZsgzhrnYl4K9FJab1hSHzTM7qCh4kct+CFavsIwOFz/O0uooDjZZPqlh5A5krnyNvAWCLY7l7d/bauQzq+bzxkv0R25lXgFQux8dbP2NUikclNm7wp+OOoP1Kfa4+nQ3DbL3Mtfy1L0bmxbyuzmfxnlXJwIQb/MG1xjWQsvzm+FoE7VBad3P+uqgWAtH3t8UzzvbGrrAzXVJGsZCgKFYPIHrIYsCUE2ya0x8/iWa3xVG9ASF9CP2akGGHrBFKREGiI306BNjlonYQtGJ7B9L4AEBER0dkNuJ3idt6ToOkXEth06o7T+ShrG5Ff36lURQtPUxsBQQUEF7AnHYGiWA2youj1Ga7nUOMLE2Xt7S4aVmqRcXC7pDUt2biAucVQ6X1pfZEvQ5XPZco/qeqHjdW9EEttoUxOjMtYQ4k4Te1qL745eu7aEZNF7OvH9TUmmgWNPRJeTV+2da5KR5cFBJmOCxZ0j3kPZeEgOIXMde156TC/sqIraA+r2+nZGuPfckXnq/9Bliu+IxPLVt3xdPBtOuRN4b+U7bx/Jp61Id3xbJC24AL+MVjVHmssFp/TqoptYF+MufSBDL34Sh3z2izqRcHaXimuwW6xGWqjLxQe3X3FC+/MiTv4UtxLXbK2d3JaTSas7L2RNdlVv+PK1tax0pGOiAg16jfgRdAxnVo6mC+yrKLk2vGjYKvG8pvN/a0V6+uHtlkkGlv5djsFERERXbzglk/WSv+Nyrp0h17rjlNmYdJ6p8Qg73z1OuXVexQ4RAYqtuM6Zmekf8osFT190cn78Qtz5w3tzF2+pxJu+StxLujrQ5yVCi4U35bR2hdS/+lPxTI0qPbbm/I+kt6778p4c5n03ntPjPffV3MOjB8VXADbwrDMdPw38Ux8lXKhyKsg1XohMUcFKVCTrrTl8AQZ21Uwd9Gemw4jr+6Je3RAzUnthpqDYNXior5g6lmgZh22XkBJy4Caf6VjXhiD1q33X7fL8Ex0vh1qlJn1ozN1LlJagwtY8e69/Sv1xAesfluqn8vAs+tq9Ts23v/4E7X6PVR0Sxw9jbr7Ogoms9rMhxiktmjPTzeHsVUFRRymNnH0tcpEb5OmemmrRObSt3UDmQwvo08ypG6lUvzxNK1L0vVCQkREROdveW9dJvwF4rN8JNPb3Lp4ntDWEMUXrz9pTOvKOGoG2KdKZL34X8vk+HX1P9aec5GQch5u/SsV0MLPty7pm1BhtTmyvKwYLU6p7zSLd3pWvMM9Mh3wHhwDnKu9fTx3sET9jCuv/610OQfV9g3Uc0OWL1bX8RGZwyzyuO+ooMBpoVtE/N8UWSQImqHLTfx5kY3NIzt7pMNY9VPxT7r3i9rffkcmHVY1L50cSF9ALGZhdVUc3oB0GC3i8Qd1dSJOa8zhkZcNJrH6wqqjCjKYylsHDz3+458H6QxqnFbaggvYs6L9QyQDfwTtfR1lsOBLMZfcFedApwR8HjWZt3VUqboAHmPiKqHpZG+v2g+KFN9WdQf6n31+qHopxryDHbrbpQp7xFDRVts9I1mPq3qTDk4cl7pERERE2Q37m7tGPbK2t62uzbQZlslKV6rwVaG2MpR3q+u102xHTQYm617HLTUxDnX+SBZ2s2vFctAZUCupk2OfiGnSJP32zAW1UDEfW0RwvYrvg64P2nO08L9BEKG0t0289ptimyqV+a013XmY3KJ45oNXnWo7y8xydgVxzpt2TjD/ZkvGfbOqgwQ6OmBLQ2zbznHQYS9WkB+FSdEVIlFLRdQdQUc+7Xi6HLwebm4eeq3TnpcOw8W31HzV3tMsxoZK6ayrEXNThYyU56mFaedg17eZ/tG5rKFabfGZ6GoQR0+T2Lvq93cDYPuPeVBaCx7IYHOVWkxH4cvY60vtzffFWHBLbe3A91JbhKIfcX85EVw4DwNPPlP7/JEFgT88JvOdX/xY1QVw99Trzk+3mbk53T4d/PN9LvvB1yfVkDgrpNYhdai8Y0R37CTYYoEXA+24VqzVp3aciIiIsh8mWvFtCz2mVnVtEsu6xCrd/rbUGpnobhRre9XBttXhV98c9I7HxanPkZk9w7kERTPdbywyOjcmNwuaVZu4dGYsxJvdDokr0iitE4boRLktqUndecBEM37PPCY1LcZxqe0ckcVE22s1znrdjOzeLotHTYBx7YqVcBTGxKQX8DNh5R0r4ZWdluj/p1X9zRCoQTeLupZelW2s/XliAuF5qWg3S1VUZHXtYPyqBN2wJdw2XSeu4EsZmXKpxza2TiPbIFaIFEEbZFjfKelQk150MdHeD6CeXG2PVa7l1R/Z2hJBnequt0UdL7uB/I9V8XuVtd9ZJ/35n0jbzV9J4813pfXpHWn9/GdirnslI01l0nv/1/tbfB59LL2Pr0tfxQtpuvOhNH7xjhhLHonpmw/ElH9NBRcQ+Ip9j8Fnn0vd9V/IVGhGzY1RDw8fB6LjDC4kKbK0pKsMG56fVx9jrRRzHdK1km3rEjPkDKoXYO241qBj6lCrIyIiIro82qIX/qjOHvt6tOyBChjEsi5xARvbloqvcRF6sG01egEc6x2Pi11rC+s1nMQ11yA7ef+TRJr+XAYD47rjmWDzz0qrcUxq2odkeOLwtgA4r8kvMmIx2WwyHe4Wh2ABHkumovvS3TsgFkP9tyuyLaoOm9/rFEvFY7Wd2PToQxXYOq5OQrJwXYw96THhtf0gDya2WBHXXje3vnoh423VaiUZ3c/2tze36IJuxifXpbujU0Y66lXQLejJzgr96RbYis4HXvyJ7D74fbFH2k6sH4LVdBQgRc2E2N8a2QoI8qD+COqGrMZ1QIkX63KjHb/MkB2h3cIf47P0iXXcKkaLS9pMVql6+VLqmwzS2jcmvRanOP0hWVxd1d0Oz+34rSoI3qGTSlP3sK5rCoMLdCqe2UWVUoTUMO2xRLCtoiqJaCCe2Omq8EtERETnC3vI479eiF6QajMuYzxjQ7qx+KzMgDvxCiO95Zpvla0n/0JmO74v4Z2TM0TTAZOGzopSGWstl4GWOulu65Ceu785qP01l8baX0cZmAio7R+JumAguDDWWCo9N38uTlOHdJe/kKav35P+wq9VHTZbdOJu+PQHajtx942fqCzkdAQXtFyhBblV1KbafmqPwVD5Y+l4fk91mOj67Efq50GQTRt067v/vthaK6TrdaG03PiFTHRU6e4rF+HxjI4zCJyNhAZV/TYsbiJ4gL/p5NzSoWCOMzQv3aNeya/okb/7pEhuPG9W21ec0/MqsHDUFhM8lnC/FzkZviyQFYUMEe04gjP4Gx4VvDlvDC5cUkg9ulHQklTFYDyhkbakHY+H+3kUfUHQjhMREVH2mwhGpKpzVDdOmbO8tyGTm3bVe157LFMwCTMVfCWtdz9QE+Dx6MS3/r2/lq7aKhlpfJWR2l8xtkBYpcA3GG1HTgaRSaytrzY1HZLeIav0RE1OTeuOH3VfZ4EFNWyTwCQYhQO1x2OwwtvVP6b7WXzWYd1YTF9jjXR05tYK+3HmdxdUkCG+QCe2liCIENt+gu3aqE+B1x5kP2PLyUz0HASfYlt3EhWGxP+8vH1EylqT72h31eFvq80UikFwB3VFZlcysy3rNBhcuMQQNECA4aQMBmQ6nLSPCVFFRCG140RERJT9WIDuYs0vL+u37sZJZ1cz/8SoNPeMHLr/6fCc9Jpt8qSyR+1rT7aQ90lwP9huc7u4XU0gU7lfTDZLW8xy92WH+hnn1k5eIEsGgggdZpe6X9x/bEvESVBoEEE57fhxWgYcUnnFgnjofKDNboqH49rb4H+LLOul7TeSX3U4uGC0+dVEeNg9rbsdHQ1ZIGjfqR2PweM+9tzSHjtJeCcs/i2XLKWhEw2DC5cc9jgh7eu4arlIl8Ebg3Y8BlkQLORIRER0eaHgmnaMzo+9rVLcln61NQGp/thaEqsCjyKai8v71fLTBSvzU0dU1sekDXUG8JgoaxuWEc+0qvSvPS8RXE/aA2Ep77CoYojIakXtrvU9/bmpsHhC8rzOpArUPa81qc4DoeXEBQG18Lug7SdWve+9NKjfFXXDTpsBgetfLK5px0+Cvym+v3Y8V41VPZaxplfqMY0OfbGaGf3519RjOzyXuJudc8EtvtGPxe1+IO75oNomgcckCs2n+/F0FaDDRjKBLdTnQ/AGXYOS2SqxuLsifvNv5M2L/02c0690x0+LwYUcgDSZ47Y0IH0JL7raccCTG8EJ1logIiK6nEKYJJ2w/ZEya+TVA7FUPVWBhYGCG0rP7XcOimgG7WbdbVKBgAFW67XjWtgPj3R11NVCejquF/E5ijFiAoKVzqc1RvURC01Q32dT2wu095UpaAGJ1Wx0RcPPGPs50fkEGTkIciBzAh0hcAzBCLRcTUfLz0Qp+yfBtTN+nkx1Bsk2FhSGdVrVYxod+mI1M9DBD49tn8Wouw24l9pV+9TNgj8S8+xwWv5fVxm2sOP5oB1PBAU4URsDwTs8l5DNgPkiOgPiOLIckLVT12uVsu4emen8oezd/z1xefN093VaDC7kCESn8GagHQe8aRwVscZ+J0SkteNERER0OWDyyPfyi4U2hYequ6+uin/UKLPTfvV1uosWYqLG/eqpO0twAbC3HUEP7XguWo8+dle2tlQHBPVRA8e1t4Hp7YD4h38jXsdtWdg9v2BVLkPhRu3YSdC9A/VSME9EcCIGrVsRcEDGj3fDJeOhZpnbOd02oUQYXMghj6t6VX0F7fhRD0REsVj8iYiI6HJ7Ut2X0l54unwwITgua5WSc9bgAiBF3eo7ny4hlxWKnq7tbamaI9qghFY665LkqqPmdKnqt/ulZ2xS/Q+07W1Pi8GFHILIFKqzxtdfwHaHp9X6yrYILCSzb4eIiIiyWyoTJLq8Hr5mvaxUpfI3xHU3tpNox0nPZWoTv9clPpdNrC1lMlZfLOMNJWJvr5HgVEAstYUy7T26PhztQxFS1ETRjqeqqHFAFVxFK1lsfcF2F/y/JroaxNHTIubSB9GvnWLvqhdHb7O4hvtUvQ2boUb9T8dbXqt6HI7+DgYXcg0K5MQHDV63Dav2JLGvUdijoM4ktb1HVxslIiKiy4PBhauJxbhTl0pwAZABnInJXq4ZfP65+Cfdqn3qwNPrqn6D4ePvSe+992TSYZXeu+/KREeV7nZ0GOqToF6KdjwVqCFyp7hdfY7ggvnlPTF88t9koqdJ+p98KoPFt8VS/Vxs7VUy1lgqpvxr6nMEIIaKbqn/qSn/Y7F11slI9TMGF3IRUmawFwzFPOIjqq7QgspsOG3bHSIiIspeqU6Q6PJB+8VntYkL6VHyUn3uoOUiCkxqx+kw1S41voXlzMxb0a/RiWLa79HdjvQQTF44opbeWaDwI+r24PPV7e3D2xyWlnTbHo7jHe5hcCEXTS+vSoejXyxhiwy5fKpYB6qFot0OUri05xMREdHlleoEiS4f98yCVHeN6cbpdNKR9XNVCjumAjVCsJ//OKdtJXpVTc4tpS2wiFo9XxW2pvVvz+BCDkJ11kjTn8t68f8u5lCn6lXMQk9ERES5B1mKaNGnHafchsrvWDzSjlPylqLXxiiGrh0/rdIWswQWVnTjRJmCBeN0ZKJja5U3vKQbTwWDCzkouDUpK+X/Xrbz/7l4llN/0SQiIqLsxb33Vw+yVRBY0o5T8gYdU9I5sp8OfnZ74lweFkfwpcxshxIcJ0o/ZKLfKGiR8NqG7liy0I7SaPXpxlPF4EIOWpMdGZs3y2DQIMt767rjRERElDu4LeJqQVDh/qtO3TidzosGVMg/++QMIjsRCbd9V/bu/Y54XPd0x4kyJby6oWrpnTY7HfVaEJDuHZ/UHUsHBhdy1NMao9wv65KF9fVDhTYW19Z05xIREdHllY5943R5dI16MjYxuErulKTeRnJpb00mx6/LSvm/E9dcje44USYF5ldUgME9u6A7lojR5lfn++bSuxUiHoMLOQodI1D5c6C1XvUdRS9Sz/igTHkmdOcSERHR5cXgwtWCTmDpLMB2FWFLROugQzd+Fgu7SxLc9svq3qbuGFGmYYsEaocYvaPicT8Q13yLrO297SYRWlpTNVpuFbVJ+5Az468dDC7kIKS75FX2SGT9jdQUPFZ9R9GLtD//mkwYGFUlIiLKJVhQ0I5RbhrxTEsVu0SkDB0eVnd2deOpWNncPNxu8VuL69yiTJnnmipS23OWK78jnY5B9b6AboFFDQNiC4R152cKgws5qMJgOaggXFRvPLQtYoHbIoiIiHLKq1azTLFafc5biU6G09027irCNXJZ67BuPFXLb96ItaVcBotuSTAYkLGGEpm0j8hskFtYKPO8a0My1/yXapvO4u6y7vh5YXAhx6DIT/weMkSrppcYUCAiIspVSPHusnh045RbihsH2X4yRau7+wGadGctAIIL5pf3pOWdP1NbknvvvSfDpffF09uoO5co3dZlT8I7YVnaXVMByLWdnROt76b/ecDgQo6p6hyVIWfw4OvJuSW1oqE9j4iIiHIDqoVjO6R2nHIH9kpzO0TqcE1s9c3qxtNhLTpRW9rY0MEkTnsuUSbNzM3ptuccJd2PTwYXcogrtKC6RGjHUfhHO0ZERES5A3vItWN0uaEo2/LehvTb/VLUOKA7TqeDDJ+SpkHdOFGumeiqj2pQBf1thlqVSYMsGkdfizhM7TJW90KcA53RY9Wyun26VpYnYXAhR8y/2ZIbBS2qYqj2WG2vNWNRWiIiIrp46r3ef35FuyizFnYXxeu4Lf7h34rBwQlxqsYmZ+RRBbN76GqwNr0St7lXFfQfKrqlivub8j5SHwcKbojx4QdiqXomA88+Z+YC6c1vbKqepcHFVd0xiESPM12SiIgod+FaII+Tp5zh33LJ5vM/UtXf3UvtuuN0MhS18205ZSI8qTJ7WAiTrgpkI6xsbSW2uXnwebqzFoDBhUtuZnn92MBCTH5lr4RXN3TjRERElBselnerBQXtOF0+C7tLqme9b/Rjmdme1h2n46G4nWsyXzYL/ni/ev4Oi5sTnQcGFy6x7jGv3HtpkLm1N7pjWv7Isrxo4H49IiKiXOUNL3JPeQ5Z29uR1b0tVdE9fuUx3WnMuWhNdsRrvyl7935XgqZfqgr62nOIKP0YXLiEULjx/qtOaTDadMeO8/B1l0qb1I4TERFRbsB7fTKLDnR5jFXkiWuoR1zDfTJUcEOmp3y6c0gvvDMr7iWDTG8HdMeIKDMYXMgiwS2fTG7aZGlvXXdsaWtbjDa/3Cs1qDY6KOCoPeckCEqwLSUREVHuml5aU9sjtOPZDKvzywmufWifrfmVWCqfiK29Sjo++q4EGVw4FdRamAlNRQUksrx8apnYl06UqxhcyBKIrobbvifb+X8ojnCDtJtdUmGwyPNakypCgyJNveOTCbtBnAZWNGZXWHuBiIgoV1V2jsqQc0o3flGmFlaky+JR2zML6/tV9iU+bxtyimMuIJ6JryUw9D5XmI8wH53gxvelDy8s6M6ho2FbyVh9sYzVFcnw64eqLd9IeZ5Ym19LcCogzn6DmEsfiL27QQJ+r1hqCsTeVf9tG78aWX7DTCCiZDG4kCVmd2ZkruWvZefRPxPnbJ2YXUFVJyHVYIJWaHmNrXiIiIhy2PqeyO3idlX0WXvsvOB7l7aY5U5Jh7xuG5YhZ/BQscnI+hsZ983KSHiEXREooxBcsFQ9VQGFzi9+LNaWcjGX3pfO6z+SSYdVRqqfiaX6uRiufV8FGnq+/oU6J9bGj8EFouQxuJA19mRqyyuezfGMF53Bm7w1+oauHb8KgluT4o40sfIyERHlNNRdQDepdC9SnATfr6R5SB5X9crk3JLueLzV6KTvdVefuD0PxTf6Cd+bKSOwLWJ+ZWV/m8PS0tstD/GfH4PbIoiSx+BCFkL/UaS8ncZpoqqrO7vy1YtWtbKhPZbLELQJ9v9SrY5Mjn+uqjBrzyEiIsoV6B6BDAZM4rXHMsE9u6ACGhPBiO6Y1uLWttwqahf71Jyq7L+2t63ripAM3EZ730REdDEYXMhCS+vr4jC1y8DzL8Te3aj2fzn6WsTR2ywTvS1qDxjSufxe57f7wWplduZ0eyuH3dNS3j6iG89FKIZZ32eTR1UG1ZboTeG/FJfvqawLL0iIiCi3YfKOrQmYzGuPpROuK1AjKplMiZWdXblV1Ca+yPKhcVdPg7quwXWPueS2uu5BjQGkrWOf/Gh98cE10Vmvf4iIKHMYXMhCCC5Yqp5Jz82fS9dnP1L7v2xtldL/5FMZayg52AOGqsGxzz2mVt39nARFlXDRoR0/L+uyJ4Etj3g3rRmpEo22myiI+U1Zl4x6Z/bHdhfV91zcXdWdT0RElIt8c0sqo8C75hb3m9Hoe+DhSX2qPLOL6r022YxIFHR0z+iLEjoM1eq6Btc9pm8+EFP+NRVcMD2+JrbOuoM98eqaKIXrHyIiygwGF7IQ9nZp93udBKmB2vs5CbZH4GIDK/vaY+cBeyvnG/6r6pDhXmzTHU9F16hH7hS3S2BhRXcM8DeejUTSDv8L7fciIiI6b6GlNRmbnJHOEbc0muzSNTEqsx1/K7sP/0BcwVLd+We1uLl9qtoO5R0jYrL7deOwsLp6qCtCMhbXMlunioiIksfgwhWH/ZgX1T0CwYVI05/L9uM/TFuFaKR9PnjVKa2DDt2xeAjGjDW9EoexTW1BGW8q3d920t0ofq/rIN0SaZioGOy29KsqwzjmHOgU77hZRmsLxVL9TILBgFgqHqtUTfdAh+57ERERZRrez1Gw+YtnzfL1izaVnYigQnP/hGpLaZ2ZlFDvT2U7738W90yF7vZnhY4QrpA+CyER1GIoahjQjRMRUW5gcIFU7+mqrjHdeObtydjcuNiXR2V5byPB8dNBW6uvClt1ezgTQXABW08QTBgouCHGB79R6ZdDxbdVb+ODrSedddJ3/9eqhRHqXEz0NEXP/1IGC29K7913pevGz1QAwvDpD1SqpqOzVve9iIiIMgHZArU943KjoEVetZrFHggfuzXBu+qVdleX/Cbvtcps0B4/rYU3Wyqgrx1PBBX78R6NegvaY+cJW0Jc/qfi9j6SyM687jgREZ0dgwuklLUOi9GWOE0xk1oGHKotJrpdaDtgnIY/NCsNnUMyNRNOamsCLnKWNjb2ra8ffB7yTrwdP4OzbE8hIiI6DWxrxPYCBBV6xyd1x4/imI7IJ3kN0mK0yutGowRmZnXvp4CuVdrbak1ujIrbky/OZbvuWCIdZpcMOjJXfNE5PS8NRps8fN0V1a1qQDyvM8njqj7VIetJdZ8aM06Z1HbM3Qe/L+61Qd39EBHR2TG4QAfwhow3Z+14JmHFBemUnv42tXfSNdwnjr5WsXc1qAwCZAWgKjQKWU7aR8TntIqjv0Ns7dViM9Tsd9EwtklraaGMt1SprQkuU3rrNxAR0dnM7cyJZ9PKFeI0wgT908eNqp6C9thJUMQZk+z+cY90VL2WlkdfinXcKsOv0IFqf0ugI/oe6ult1N023uLuioS6/061dvZZPpLVveNrNyGb4nFVr248FdgGiYAFAgbInkAGpmprubunOzdeeGdGAkO/lqDx72V6O6A7TkREZ8fgAh2ItYaanFvSHcsUrLwE5ldk7PU34nPZVAcMa1uF2mbQ8/UvVL0DVIXuvfeeDJfeV5+jJVXHR98T88t7attC050PpfOrf1Bj2Jow0VGt+z5ERHS+Vvc2ZXL8uuw8/B/E47gtRU0mVQcgr7JH6vusYvWHdbehoyFb4Wl1n/ob4nPt8WQgc6G6a1TKWwfF8ORraf3td6W/pU5q3v1zcdht+1sCi2+Lq7tOd9uYQGRZPsqrFpfnkSxX/AdxhsoE2xy158XD9st0ZS2gbgMeQw/Lu9V9ru6e/m+BjlEIkCCLcW1nJ3ln+F5ERFcJgwt0CDpHoBDUeQUYUHhx3DerthOg4vMhq6v6sSj/qFFmp/3q894RhwxZPYfGFtfT39aSiIhOZ2XvjfhGP5a9+78nXtsNWdnZ3zaGOgFYYUYK+52SDilpGlStg7W3p7fm1t7Il8+bU24fjb89tgk8qeqRydCcdAxY1fvm3PKy+ryidUBajGNinQxJaPltTQZ0XsL2i0/yG+THn5XIkDMonWM2qR/uk9W9k7cD3is16MZOC7/73ZcdUt5hkUiaHi/YRqntPnGcmbnU/v5ERLmOwQXSOc8AA9I624acuvFk4GI02UJSRER0vjyzi9I02i/uN6MS3jk6SwHvNZg0oquB9hjtt5T86GGtyvLTHjsLbCNoj77vDjoCavVfe3xqYUUF/kuah1RQoKDOJEWNA2rrZFnb8MF51580SqfFoxYHtJPweIHpaRkcndCNo+2k9nsnMruyoX5mdMJItt1lspydtYe6QU1gS2ZHrVjbq1QnKWzNREakufSB2LsbZDp4/rWpiIguEwYXKCEEGLBFAumH2mPpFF7dOHNbqhfR251HAISIiE4Hafs3C1vVewm+Rkr53OKirnBgvBG7R9qMozI7P687dpxczlbDxPr60yaZWU7f74hih/PfdnlAwEB7PJF+u18Vfo4fe+9OhdpmgeDC4PMvZLS2QNVFwgTd0dMiU/5JGal4LH3lz8XSVnswWUddJWtbpYSmT56oNxrtKrAwu5K+3z/eaEXeoW5Q/U8+FVP+JzLw7HPVSQpbM7EV01L9XAzXvi+eweT+XkREVxWDC3Qk7GN8VNEjPWPJV6I+i/tnSJfEhVa6i0MREVF6IPgbn8K/ur2tJmzmkrtqkmltfiXBqcDBqvBEb7OadI60VkuPcVAcva0yVHzroMggCvzCaH2xKtwbK/yLzz2Dp38PuQxQBwkBGmyJ0B5LhdHqk65Rj6rdcLu4XXdcC+0m72jOQ62Dzx43qOAHggto59z15U9VXSRM0AeLb8ukw6q+bvzil6rVc2yyjrpKpqefidvUqvteMQh+3H/VqX5O7bF00tVciD5OwwH3wefamgvrrLlARHQsBhfoRBUGi9rjqB1PF1zgnHZVorx9RLzhRd04ERFdrODiqjyvNR0aQ3ABxQKN3/xWTTINH39PTT5jq8KYkMaK+Y52Nouh7Ln03PqH/dVk3C46ecXEFKvHCEjEzsXnzq6jiw9eZgigO0Pp77KBhYN7Lw1qu8Xff/lKd1wLWyK84bdZguj8gNaOFR0j4o/st35GgOHA5uahr1/UGROOY7Ku/V6A7R9osYk6D9pjRESU3RhcoKSgkBNSKLGaoD2WKqxuoYWUdvw46SgORURE6fes1qgmrvFjqLKP4nnK0tK+2NcJ9I+5ZHjCqxtPZGljQ/czHAeZb9jyZ7L7pdFk10GhSXzsnwiI2RVUE+jIenoKCCbLaPOrVs3a8XTBgkFf9H3913crxfdtgCARtHVEBkH8GGpj4G/XMuAQq29Wd5t42BaDDhfa8aPYA2G5VdQui5vHt7YkIqLsxOACJQ2rCF8VtorFG9IdSxVSLpECqh1PZDp60YqVFO04ERFdrMj6G8mr6NGNnwXq/qRSwA+r/h1ml8oAQOFCtC/ERBl1flTwIDpBRtcDBA+0Rr0z0WNT0hQ9r67XqjIxEGDH/n9sF0RxQQQAsGVA+31ThfdCFFXWjidrMTqhd88uqOAIAiXIDtR6UT8gf/dJkTyu7JXPHjce2X0BfwPDsOvga/fMgvob4HMEGPqsPt1t4uHnqO5ObvEAAR9sk0RAQ3uMiIguBwYX6FSwP/FVq1lN7s/aZzsRdI1INnsBVa4zEeAgIqLUYFUbr+fa8bNAm+Ka7uRX75G6j/cRTFAxAa7qHFVBgkwEANBRoXvUK0+q+1TQAe0du8e8acnuw1bEkzIC4iGIgtvgd0aBxvzKXjWhR8YhJuwIlqA2Qux8BC8w9v7dKtWl4+5Lg3z2pOHg9sg8wW0RcMAWxNjWB9R+wAJDLOCD7YwnBfoRwMF9ace1sM0R9R+wZUN7jIiILg8GF+hMbIGwusjAhYP22FnhAg1ZCdpxLbTHSmflbCIiSg9MUNO58ozJr3YsHtLoMbFHQKG8Y0StrGvPOQ9I48dKPoIN2LaHIMtZghqYXJ/0OwMyLvB7o3YCAgmn/b3RqQnbFZCBgQwHZA+G1/YDEAgqICDwtMYoP/msRHWJsPpnVR0EbX2kk9pBY+vEScEmtJVG4cpUslSIiCg7MLhAZ4aiTmgThQuh4/ZsJgsXNCgSddKFKdpoaceIiOhi4T3hpMnmaRlsIzK57pKVvbcdExBcxqT4TkmHymw473oIyRh2T6sMAmzDQEYD/jbacxIxDLtVkEI7DhZPSK4/aZIfRyf8v7lfI18+b1bBHGQaFNSZVGeFZAL0gK0iKLy5/3mfCgJgGwqyE+PPwxYQ1Gb4+y9L1fsz/t7YdhE7jq0msXajibQOOmRgIqAbj4f/Y+xnISKiy43BBUoZVh2eRy9scJGRapABabAntZhkcIGIKPugiGNpi1k3flbzO4syNfCPsl70r8UVaTzY74/6B57Zy9EtCJN1TPqRGYBtGvET80QQnImf4KsMgxqj6urw3t1K6RzxJKxPhAAL2kMisw8BfwT+j/pe2HKB7Y3xY9j+8Ki8Wwrq+g/GkEXxSX69ur/YdgXcFlsnEJDAdglsUazvs+q+R0yXxRP9md268Zj6PtuJdRuIiOjyYHCB0gYplehtjos/5/TZ22fhAgmrJdoVlBgGF4iIso/VH1bbAbTjyUDGWuy1H+8h0GwZkLnmv5Td+78no87HKnCBYLb2tpcFtnCo4Eid6WALQjxM4DFxx+fYIoDf993bFSpjwDf3thVkMlBrAlsmEGSIH0eGADIUEtU2QLbFu7fKVZABWx7xfeuN49LrGjuUOeKYjkj3mEe+eNYsnz9tkmt5R7cCxZYI7c8Qg2BUrDgkERHlBgYXKO1Q0KqsbVitdmBF4ywXg7ggQTuqRLUVUPVbO0ZERBerZ2zyxBR4LayuYxKNmgnYEhC/2h5YWJaGsRYZnKyWmTfJFzjMdpjgI4iAWgbxWQhoy4zuDqHlNfnoYW1UnQrYaG9/Gthicftlq7gWDeIOvpQqY++RRSexpaKkaVB+dO2F/N0nxfKioV+ckWaZa/4LcXsfyZPa/aBPddeYykhAJwl03fjvn5XIDz9+oWpNoLNE/NZG1GhAdwrt9wIsFCQKshAR0eXF4AJlFLY5YN8pUj3R5eE0FxJIB8WFDNqAxV+sFDQYZf6Ufc2JiCizsL/+pOJ98drNLhWE1ma6YcKNgAO2yMXqKaxub0tkeTklC2vJ1SM4LwgmIIsAf7e1vS0xTY5K34RDfv5lqTyrNqatI9P0dkCWK78je/d/TyamX6uAQAy6PeD9GcGO4sbBg84QtT3j6pjX+oXs3fsdCbf+lUR2Emckop7EJ/kNqgZEaav54HeKHUchSO1t0KISgQztOBERXW4MLtC5wEWS2RVURadwIYMq1ShyhfZT2nO1kCqLVS2kkroiIXH5HqsLntmd5C9iiYgos4xWnxhtiYsRxkPwAIGDRFsosBqOTkTYQhA/vrSxIbbOOnGY2sXvcchEV4M4je1iM9QcjI2U58lYXZG4BrujY21ibSkTn9Mqjr7W6HnVEnDrv182QGcGa6hCliv+o7gnvpYR38l/w9OI7CxIYOjXslj7f8vAVLu4ZhZUEAGOC/hXdY5JcU+deO03xb3ULetydLAD2zbwP0XBR2xtMYy4VZ0JbfvKGAQzjsqgICKiy4vBBboQuKjAnk705o7tscXFBvaIIoXyZfPQwcoK+pZjLL+yR5onumTz+R/J3r3flbGZJnVbtOFCKi4yHbTfh4jooq0dMynLJchaaBty6sbjIbCAlW1n6PAqOLLTihoGpLzDkrCzAoILQ0W3xPjoQ7G2lEv/k0+l7+57amyg4IYaM5fel4Gn16X/8acyVHxb+u6/L7a2SrG2VUjv/V9HP6/Q3W82WJc98dpuqgyB2fb/T+Z3T9dWMhnzu4sS2grJ9acNqk4CMgsSFYYEBALwf8D7K7IP0SZyamFFlt+8Uf+Ho3SaJ6R72CG+2Yg8r+6RMfeUFNb0SGPPqFhcgYM6SpH1N6ogpPb7EhHR5cfgAmUdXNhgRQXVwJE6GVthwcUnLrq8thsy1f+OBLf9KiMCF6ndo16VwomWVtizyhURIsoGvjd2mRy7Jq75RlmTw6u3uQYTUG0XgniYXGJfvjawgBoEWN3GRFZ7m5iVra397Q1LS4c/aj8/gne4R2an05sRkE7YuuDxPRPvOv5+iYsZp8PM4pL0DI6L3TUppmFblFUGRyeUAYtdWnstKtAfnzmCukl5FT1isblU9ggyQwJ+rwrm4HNkj0x0N4rf65K++koZbK2XgSefSV9Pj/SVF0pXV58YqitkLrRfjwOLCigKqf3ZiIjo8mNwgS4VBBlKWo1S2Nwta7u76oJTyzoZkpKGfilvM8v82sbB+FHdJ4iIMmNPJsc/VyvSKIo3t5P7Eypse9OOxaCAocUTOjSGbW/IWIucofBvrlpcWzuV9QSdH46C800FN6Tx3qfiddrFXHJXpqYC0l94S/w+j7j723W3Abx/jnS2SOOdj8Xw1Tvi7DeIKe+j/SyRolsqU8TeVa8yRQwF96X97gdiqXombbd/Ld1VL6X6wQ0Za6tW93X/mMcIERFdbgwu0KWCC1cU+MI2Cm/0IigYvSjCRY659IGMN78SR2+zTM/Oymh9sbhcDumoLJPBjmaxGWpldmZKd39ERJmCfejDwRaZbf+eOHzPZWU39zOqsOqdKJCL+jpPa4yHxlDQ8ahOAlcV/naoITFUfEtlAuBzbOtAPQl8HasngaAAsgdQTyIydzhgcxwEF4ZfP5LBkvvSVlYk7R99TyYdVumIfsR76YShRneb2M81G4nIzNycDFtdYjCNitU1KTPRMYz7rMPqYwyOdfaPydTMrIw5vNL0+pVcv10ki5vbqjZD/H0ji6G8Y0R1j4i1IQW0wsS5attk+f4xbNdAm834Is9ERJQ9GFygS8PiDal0SnyeV9kjQwVfqIuikepnYql+LqaHH4gp/5oKLhiufV9dKKlVlHsfSNP9j8VlbNXdJxFRJkwEI3K7uF0WtrZkYXdRhj1TUhSdSK/t7KTmFKvUFwF7+ZGNoB1HUd74NpNoZ1jVOao776rDJB41JLpv/FQmeprU5/15H6stCPg6Vk8iFgxA4GFyyKC7n6MgyyGWzYfMvoKq6Hupw38whq4c2tskshq9H7SjRLcPBIgSbWlBK2kEDJ7VGqV1yCkfPimTsaUhGQtbxRtekufR8c+fNKqgEwp5zq6cXDcJt8NjLBaAQDFMBhqIiLIHgwt0KWBPLoqAxS4i6vus4vJPq0BCMrz+KSltNB1bGZuIKB2G3dNq4oMJWGwMk8b+6mLpfH5XhqMTRXQ3cPS1yGjN80MdDSYnxlUnBEd0IolzjA9+fWjF2tlVp/t+2QR1cDDhjB/D63d8hgJaEJ5U+PGqwuNkbmFBwjHz828/P0KyAYGjoCgyAvZn3Zoyu7Kuah1huwMe9/hfN5nsKmCAuknjkzNqfMJXILsP/0BCvT+RawWv5VpenarlgEUDFG9GIedY0KBr1HNi0EAFOKLnYVtNWduwLLDWEhHRhWNwgbIeijOiT3Z8kUZUJW8dcOhX9Y6BVRRUvcaFrvZ7EBGlQ2BhRa3SazseYNI4WHhTel7ck8Yb78p4S7nKrOq99ctDHQ3Gm8tUJwTjw/2uCD03f35oxXqio0rdH1rxuibzxbXQKmt7qU0u0w0p7sjciH2NSSP+LrFjmBBqb0MXC/WM8LhFd6ajukgkC90g8B6NdtOxrk+vo/93u69Qdh79jzJt/Ln8Nr9UvipqlUajXUpbzGo7DYITCEzgtshIQNAAGS6JttloOafn1bZJBCrig3pERHS+GFygrIZAQKwNVvw49m0+qT59KyuszOD+luLSc4mI0gGTMnQ9SLSCignSQSaVLyC9g+PimgwcyrDC/nqfyy7TMzNKYDokDo9PRqwuGbRMSO/QuNR3YiLWLROBl6pQ5ErFd1SnAe33u0j4/bFfPrbyjJVofEQ6e23PuO58yh6oZ4BJPSb8CMhrj58W3rux7QHv18G1OfFuWsU255RvXnVJfmWv/PDjF2rbRCwYh60R9X021fkJnUf6bD71nIoPVh0H2ydxvjXBNg0iIso8Bhcoa5ldQXWBcVRbybNWnMaezbPelojoKM9rTWoFVTseg/3usUyqpc0tqekalbzy/bZ/sfERd1Be1PdLfnS8pLFfekY94pmZF9/cojq+vLWttoUNBQ0Safiv4hv9RDwL07rvddGw+lzcOKg+R3ABdRiKGgZ051F2wvtkacuQPK8zSWXnqLhCC7pzjoJFgbpeq3r/Rovo6aU13Tk2j1+6BqxqW0dzz4gUVXeJNXA4IOCeWVCBtBd1/eoxZLT6dPeTCDIX8NhDdxJtBhEREWUWgwuUVuuyK6HtKZnbmdMdSxYuRB5V9Eh5+8ixFwYvoheq2OupHU8GLnRjxSGJiFKFyRgmUtrxkyALC/vF/+Fmmfz8i1dqD7otMHcoFRyrv4ZhlzqG1HWsLq/LnoR3ZiW8uSR3itvF6g/r7vuiVXdbxLbQL6OhNiltP32mGWWHUPQ9ubbXqib68bCFAd0ckKVyL/q4xOMTH5H1YJ86/hpgrLFUel4XiNmAWiM1YjHUy6++KpfSZrPufd8zu6iKo9543nKqWh1DzqD6eZipSER0fhhcoLSaXB+Rxdo/k1Dfz9WFr/b4cbAygvTIx1V9El49ufAi+qUjzVY7nixcCIWW9SsqRESnhZXV0xbEQ2ABq/mYqKHwHQrOGm1+tVKM+0MqOSZwCD6gSORRk6RQeE76R2xic3p1xWyPkmoRwGQEtyZlpfzfqX327iVmi+UaBL1QqyG+C0iyLJVPVJenxhvvyWDh16ruiGt6Xj56VCd3XxrUc0N7GwQWfvHlK1UoUnvsKJNzS2or5Pwpn5tERHQ2DC5QWrnmW2X3wT+VtdL/UzocRtVqDC2qEl0Uo+85Cj7h4hqrC7igPs1kH6mPKAKlHU8W9nbiol47nm2QDTK/uyhrsqM7RkQXzxmaVynY2vHjtJtdKuMAq7LaY6dlj07M3JZ+MTVWSdvjr8Xe1SABv3e/fWH0c3tHreo4Mfz64bddKqKTrfnTBX/Pwh5xSbj9e7L66v8Sz+qQ7jhdXYtra4p/Zk4aui3qc2TrYDtkQV3/kQEB//yy/OCjQrH6k3/8IhtS3d8RWyyJiCh9GFygtEI/d9dslbiXe2Rtb0vtP8ZqA7IEkDoZqwYdaz9lsvtTag+J+9OmUJ4GKpfbAtmXThzPNd8ss+3fjf4tXzHAQJSFUGthbu2NbjyRyPqm2trQYXbpjp3VyKsHYql6qlZ/TUV3pOa9vxGLoUlMeR+pzhOm/E/E3lUvnV/8WHWgQGcK3/DZA7MnwWsyXltfNJik3TYg3e7+rOtoQdkDhR0R7I99jQxGs2ta1yUqxju3KD/7/GXCoo1YdECtBl9k+VAhaG07ayIiygwGFyhjljY2DlYn0iFRGi9W/1A/QTuerOXtnZSyHzIJQZemgXEJDL2vqsKHOn8oi7vLuvOI6GIh80o7lgi2PmSiHS5eG1e2tt7a3JQmo1Ve1BnFNzsvM37XwTg+Lkc/JtPe7yxQ1R+BZKSuYyKH9oAPy7tlcX1dZiORtJlfOdxBiC4v1Cspadov/gl4X8ZzCsEB1FpI9Fh9VmuSrwpaVK0RHG8y2eXuyw61cIF2mmh/iQUMbC/CIgTanyKL8ukZukwREVHyGFygjEE/duyrnOhuFJ/LJmMNxeLobVbt1lRqbn+HTE6My+CLr8QzNigjFfkS8HnE2W8QS/UzCQYDKn0XKb4o+ISLU+33SEdwAMUjz7JnNFOw6oILq4I6k5ijF+gDUwbxjX4s7iWDKuKmPZ+ILg4m09XdY7pxrRHPtJrk4DVLeyxTkE2BwrfY/nWaav9ngQkiggjoMBD7HRH4RSFK9f176g/eD/AegOwJZFrgvWG85fXBe8JYfYkEpwJifPC++JxWdY6ltlC9V4w1lIgzeluHqU2cXXW6n4Eur+tPGg99jTaUCMYhIID3Qu35gfVpcfgLpddZITcK64+tw4AgV8/YpGpRiSwjfK49h4iI0oPBBcqY4eJbKmDgd0+IpeqZmL75QEz512Sg4IZKzR2pfqYCC/gcBcb67ryrUncx3nXjZ+piExeghk9/IENFtxIGFwArFYn6yicLhdJaBs5eGDJdsPqC+hNYwUExq9WdXfn6RZvaLxrbDrH85o3KCImXaFWHiM4HVklPqpuA1xgEMVPZwpWKyPobtU0BNR4ajLakCuYmA0GE7lGv3HtpkJfNQ7otbgj8InCL391Sevfg/QDvAf15H8t4c9n+e0P+x2LrrFOv/R0ffVcmHdbo6/7fqvcGnNN79939j/feE+P992Wo+LYKXmt/Hrq88L4XHwBDcVR0osDnqN00MBE4OIbMH0eoQvbu/a6svP63UtrXqh7jCHChyDOCfdh+Ceg61dw/oYIUeLyiteav71RKaH1eVvaS28pERETJY3CBMgZpq+hhrTM/rz56hrpkatKlP34EpPNqvwdYvCGVAqkdTxYu+JG6qx0/Tyh4eauoXfWGj41hFRA1K2Jfo8e9WuVr2F/Zcw50infcrFKctfdHROcjr7JHBQK14zF4DiM1+6ICC1qxlWBkUeAjiurG73c/Dn5PtBhE8V28ZuL3Mlp9CX9/tC/EKjE+R+YCtm4cBEXX13VBUgiMmSQcCujOUeMzU4fOPer9gC4nBBa07aFj78t47nz4TY08eL2/xQGBrInFfpmv/3/EP/wb+fxFufzlPz6W4qYhFchDBwsEJ5CxgM/xvoqgAx6v0DTeJdN9PxOv/aaqE6X9WYiI6OwYXKCccKekQzd2Grjg0I6dFxSgwr5StMyKjWGlBenE8echuIBVPsO176uVvYGCL2Ww8KZEwtO6+ySi83Hctiys5CMVeyXB5DsboLgkWl+WtpjV74HXQQQ5Yy0wAVkJsWPIEqvvs6qtW9r70kLgIlZb4jJ05aGLhQACAurxY6/bLVLdNaYKMZa1jcjTmrf1Ejqi74/f1NVJcXuX6i6Bmgvv3q6Qfrtfd98xCIKhiPSov0rVMdoo+lcS2PLoziMiorNjcIFyQk33+KFV/9PCRTTSKrXj5wHpoPFVrxFkwEW89rz13d39HvUzM+fer56IEjsuuIACczPLibdz5TJs5UJGBz7Htq2LDN7S5RH/XEK9hQ+/qZX8uPdCbGkY982oxYQui0dtl0BL675hu7h9ATEN22TQYher06veGyNL+wF7tLfEY/Dao3p5706lmINW8dq+EOdUoSztJt/+moiITsbgAuWEWHVp7XiyDMNulU6pHc80pIIisBE/hiyGVGpIENH5OWpVHtlHqEegHb8KMJGL1XWweELqb6E9h0grFlxAtgK6OkzOLaqaCbHjvdZJ+cn1koO2rzgfWx+QwWeoqZLx9hrprC6TnvoqGWmrlRFDo6ozUt9nU1t0sAgRu6/9OkZ7aluhdnvOSVjniIjoaAwuUM4oaxs+VKPgNNzLXhkJD8vyXnJ7j9MFE5P4QAJWY9BeU3teNsFF2coe6zwQgTaVG/CcTnWr1mWFVWLUZIh9/azWeGFZYXS54P0QsHUBX2PR4HHV/laIWFFUBB1mV9ZlfmPz4LlnevSh9NVViLmmSFq+fk96H1+Xqk//QVpeFav7eFpjVI9L7feDydF+1ZVqqPCmqmNkM1SrwtLobOUa7hPXYLfqVoWPAb9XnTsfOXuWJBFRrmNwgXLGfPSC/izpt3M7EQl1/1g2C/5YXJEG3fFMwcVRfuV+NWzAagj2lmrPyyYrexviCjyXqYF3xb/p1B0numoSZS5gq9NJHSRyEWo4oMNNbGUXhWpTySijqwOPmZ99/lJGvW8n7qhVguAC2r0ikIC6DHheYSEBQQZ0h8B52Bo4s7QiZS2D4pwKywd3KqV3zCt13WPf1i9y675fjKOzVnWlQgcT1DQaePa5jDWWqs5WtvYq6X/8qepWhY9ok41zfUN8TBMRHYXBBcopxY2Daq+mdvw44Z0ZiTT/pew+/IPobSt1xzMFhafi+223DzlVcTXteecJxSXtgbCqrI0JEtJOsQL71YtWtQLZYR+U5YrvqGJYHt8z3e2Jrhq0y8MkOvY1PkdFe+15VwECCai3EPsaKe3oLqE9j0gLgfYvnjYdGkNB0NJWs64oKuomoKWq9j6uP2lSj0HcF7blfFXQEv36+Ofi7Pz8oRpGyWCdIyKiozG4QDllcXNb1SzQjh9vT/xbbhmZNcji7nKC45lR2jJ06EL89D936rAShHRTBA7Q9guFJBuNdlUcE6mn2vOxbcTleypT/e+Ib/Ps7T+JckWH2XWoXgsmPWiPqz0v1+H1LJbODshiuKpBFjodBNbborRbjKzTAblR2CxWf1h1erD6Z+WL583yy5uvpWVg4lCxVGdoXn56/aXaBoHP0dbys8cNV7buCRHRRWFwgXIOLlLQu107fhKs0q9sbkpkeflI6SzkhFZt2MqBz3HxVNtr1Z2TKeh1jws5bCNB2igmAtpzjrK2t6OCDPhboNd8KtBeU3v/lF0iOwviWeoU/1Z21wK5KGp1NTqxjn19FbcBtAw4VIvK+DF0yogPnhIlEphfOdjOGL+t0bdhl6DpH8TpzZO8mg751dfl8u6tCqntGZemfrt6fBU1Dsj96PPtSbVRvnzerAo2OqYj6vZ4Hn7xtFkVh9R+TyIiyhwGFygnYd8vVjC048ep7h4Td3BWzCV3pP/pdVXAydpargo7IRUSXy+t7u/xTN2etI4PysxmWH2Ntm2owaA/L32w8oMJAKpnI5CxGJfKfRaL6+sy3lwmE10N+0Wv2irE0dMkfo/joCCWra1SHKZ2sUY/Ynz49UP10dHfIbb2apkNX70V3svGFSiU3Qe/L+G278ncDlPcE0HWEbKA8BzGXnDt8VyG/ewvm98GVwAFHeOzGIiOgiAAguwIVqN+Ceoo4L3Y6X2qtt8tl/976feNim/u8HtvLBCB592nj+vlfmmnfB19Hlo8+zUbnkSfhygAqc2GICKizGJwgXIS9vmWtph148dB9kDPiEPMpfel9+67qoDTwPMvVWEnBBfwdcjxti1WKvxbTplr/ksJdf93md4Kqi0J2nPSBUGFut79oEI607UX1tZktLZQTA8/UH+b7i9/IsaHH4q1pfygIBaCDyiUZcr7SGydddL5xY/V8ZHqZ9Lx0fdkcuRqTcQuI1e4WjaK/kSCpl/Kwu7VK1KYDEyw+6w+VUflLFlTlxWynlBcL34M9VrKO9LzOkm5Dd2dYo8fw7BLfnWrXMpah9W2hqkttwSG3hdnsFhW9vTdRmLBBWQmDDmn1Ocv6vvlo0e1KnDeFH1s3i7pSFhwlYiIMofBBcpZ6Gt9mtaU6JddiLZpCbZDwPzKStq2RbhW+1UByc3nfySjcyMJi1OlQ/9EQBVjjN8Tni7o960KXM3MvP0Y+zxe/Ni3nyObweeyq7+r9n4pe2BVML/GIP3BQWkZHzq4iKfD8NrxoKxD6gYGZGZlVXc8m6AuDYKM+F9iC1mjyS5dox6xBcKqCJ72/KMgeIs09PgxZEZVxbWhJDoOAgRo24qAwvUnjTLiefs+hczDgoZeWZc9VUBxan5JxrxB6Rp2SseQQ755ZZD2wQl5XIkuEvvvy6jd0DHiVu955uh73gcPatV2R+33JSKizGFwgXIWqkvfLGw91fYIXOygY4J2PN0i24tinXotrkijvO4cSPveZBS6QjYELvYxQdQeJ0oGinsivf1127DaG93WZxG3PyizkciJYvU0sOr4/7N3p0+N7lmC3/+e9tgO97zwC0fbMS/siRm7p2NmYto94XE4OsLucFfXdE11V1dVd5Wr+1bVrbpL1r23Mu/NzJv7niQkJHsmJDtCgNgECBAgCQmxi03sO8c6P1Jc8TwsAgQpku+LTyD9nkUk+UjwO8855ze6PigzW8dbxeUiWZYt6R97JVOVfyGBqddmQmTd533SIKN20NcGi7q6hQYUNLigdJk//apjWsOun4Gqpj2w2xMmkU4Gb2U7pM33XaBJx/T8mslg3R/Yj15busxkRmmLyfrR3gkapItv7wiMyvWsanMtvv3m11Lz4Ctpr6uW9tJX0vzyrjhf58rrT38kroq3kv1aMxSc8ts7byQUmTMrRt3JrZOffJVjzm99bQDA2SG4gA+aZi7oSgjW8YNo5/fzuDurEzanJ2geZ79tlujS0olpBkHiuTU1W5eP1LuQc1tLMrWpDa7Sa7KDi0GvI/1aHpt46hKl7dm3pL6sRJwPvpBQr8es++4pfiqjo8Oxr09M/w1v+SvTgyM6Pyvj80vijxTK0st/JeGuzyS6ld539U9K32fjjX9nasRHWn6xbxr3edMMBe19oP0g9I5u4lJ+R9EAq9s/agIGGoyIBz81A0oDthpoiu/bFJsYao+b8DRZSEieLsP8pLjJlNHo54Q2ONZxDYxr0OHq84rdXh6tj65I092PpbemyJTaaS+fmm8/lpJrvzYlecM9rWa/a88rzfWqfRbKO9ziGcwR77RLliT5GwwAgNMhuIAPni5JlXiX7TD6B/l5NIDS14hnVBRf/aX5oyneFHF0ZNhM2tpz7khnwUMJ+72mjKAz/4FphOhvc+6Muaqk11Esw4GdJSE1NVTv0ui/V5/PbEUl3P25RGq/L0Mr57cSBT4MXaEJczdbH2vATYNh3SWZ4il8LFVf/kRqsp9JS+4DcV79iWnS2fzkC/MHf+Wj61J+7SN58fiF+UM/MHDHTLojNX8p05vJlyldLNviGa+Rwe7PpHm4ds8d2PehtX/YTPg1K8G67bh0SVpdovaXt/KlZfCNDIxmm0a0pa5euZ5ZY0oryI7CcT0oqN9dflnLIoKRqFl1RQMLGmzQFY008KDbNRPKWm7X0tkrbZ4+83h+dSeYdyunznxuvWnwSu/wK9m+/c9kruh/l/GN5H7/AwBOj+ACPnj6h682M9Ql46zb9qN366bPcOUGvSsYb0alwYzXn/9UPMXPdpsiDvq8puGhjtV98UPTALEj9540P/jUjDde/7m5c+OtLpDG2780AYm59Q1zl7l7cMLcodTshbpAiyzl/G9mYheIFNm+D+Awetdw/N0da82CyXzbKnPLy7sZM5Nz81Ln7pO8ylZ5kFsrTwrqxNEau3Z9Yalp8crdV3Uma6h3Kii9468lvHI2fUXSgU7Af/hpprwoa5VbukReicuspqJZRYl0qVvrsamkAUtdeUa77Vu3nYR+VmnDPE1Z9870yUL+vzUTtt6R/JQ2h8Xl88tvC00TZb1mrz6vlOuZ1XuuKf0dHM9m2M8Xj8t3lz/VfXVpyn+6UWiydLShc2CuUeYL/r3JJPpwg5oAkH4ILuBS0PpO/QNGJ/PWbVZ6t0/Tia3jqaJ/UGmauT4emJgVZ3ufTM7O7piZ+e7xPs+DbqeMDAb2PA8P+Eyqst7liddLa4O26fVFCUwWSTBwWyKbO8tzAclKXHN+v+fKExyXr2PXnr5n9E5jvI5/KCFFXq9LvZuoj7UparxB6sK6vZ7/ovom9jP44km51HUOyLPiRmkrK5C614UyPBSSzoJH0lf/Vnodb2Q49t61HpsqOknTngq6lJ9123Fpt31tzGhWmAnuTPh0gjbS+k8SffOfJLi0d+lJ4Lh+/Lts8/VhYYN8fPe1RBbszUQ1qGUdi/v9swqzpLI39rmjWTr6+ZR4jsXtDRndGIpdt6fP3gEAJI/gAi4NnfDo3f1kVnzQdE1dwtE6ngqaRhyfbGn6staeWvdJ1vTyqvzmzmtTa6orThyUjq3N9ax3UU9Du3dbXwMfFmt5kP7xnvje0eZ9L8vbjnw/6Vrz+l7S/Vqffin99WXic1Wa7AfrvheRTnC+fFJu7vBrT4KMNy5peXxFaq7+XJwlReKtKhDHZ98Xd+Z16XeW2o4/LW0mqYEFbeCq9erW7cehK0Y8KXaZ/2vtsWHdrk05JzbGzGtatwHH8ZMvcqR/bEb++rcvZGZlzfT10F5EWoqlzUR15YiMkhYZmf2uv0ecZlR9E/sdrWUUeq3q78HDlnO2llWMT07uNpwFAKQWwQVcKuYPliS6R+vkP1WpxVaaXj65tHOHRTMMTtpAcjw2kfibzzJN+vpRzdo8Od+Kv7XOTOoSm+7pndXushzTJCvQ4RLXt/+0O65/hGk5RmfRExkOB8Xxyfd2twXdB/8hhw+DdQk3XTlC7xLqY828KXIm9/6IZzxocKH77UtT/qNlPZPjw7Z9Lxr9meTVdJqJjU6I9HPj2WuXRKamzIQmNDwmNU0eCY2M7ayiMZPa9GytJQ/1XZO+kZcSmp6ybT+KllPpShJavqJp5Roo0YmadT+r2aUlWw18qkxMHf/fgYslurUgeS1V8tGdV5JZ3mKC/hqo1GtRS/s0SKfvJ81c+Lsvsk3QIfF4/T1+86VDfnWr2JTuvIj9Tj0sY6e3Kt/83tPff9q/yJ1xjQA5AJwRggu4dDRNO9708DD6B4/+8W0dP617ed/dEdb60HgWw3H4R2fkB5+8iB2bXN2z+/Hn4musMJM6vauqqdo6ydPGkdrLQfs7aFPJ1udXd8c1GOHOuiGNN38hfc7SvdvqU38HFunFGlzQvgs6CdUSiGeH1EJbJWZATM/N7Zb0nHX/gbOkfVzyaztN6cCzN81mpQTT9LIraHoeJC5nq1kF2thSMxtSnQ01MJ5neqosvvpjaR3pNBOy9sCoydKyin9/+TWd5jNIJ27aX6a+K2TuHFvPfRjNOtEslPaX35rJmrfilfgaKmVkaNB8tvTHPmu04WxfbEKnwUh97M66KUMh/07jWsfrPUFOfa4Tv/hj6+vhw7GwvSah/m9kKftfS384I3ZdHh5kzK/1xN5jTab0Ib5KiQYffnY11/wuH5yak8fFLttxibpLM6X53m/M77/47zGCCwBwNggu4FLSO69H9VUIjM8mleVwXImTLZ0MHLcxWmPPoPzsWt5uLXQytLmcuXOq3t1VPY0PJaUdB9NrP55hE3cr22F6LCQ7SdaJ9VF/+J8X7RkQXvfJ7NbBdziToWnaOtGJ95bQ4IKO6+fFm4YeW1AmztxtzaqRkkZv0j+/g2gWiGZNNIddMl73X0z2wsjClAks6GeKBk/1/y9Ovy8NZOr3PLxPmvlx6ftfJ2i6PKBO1hyffk/asm6YZrTxAKY2nHVc+YEJRurjlidfmACmHqclIolBTl3itLeuZOdxbJv19fDh0KyF8cYfm6DYYM8XSS0TqZlBHYEx01NEr3FdJvWvPn5mGjlqL6WjbgJoIFOb0ZqyvtjX+OoSAIDUI7iAS0trO49K7dYSBv9YalOZE4MLLm/YlvJ5GP2j6vOHpbsNIYGzog0atY9H4pje6c54m3zATZeU07po6/hZ0Kat2iegNja5flnh3jO5Lm/rkVDv72Xt6R9JMHg3NqE5/uRea8KfvG4yWQh6p1+zF3QpxvjKMvGVGg4KLsRpkEFLEDQooXdgj+pZkUjv3GrGhPZF0H+rfn1aXiML26vmPFpHfpjlhIyK09DzaENOIzZxM+LPk3XAMdxR/vANr/nNCkbJLhGpvYT0Wi+q65b7sd+frgGPZNW/lYdFdXuaxwIA3j+CC7jUdPKkqc3W8TidMJg7tSn6o1wllkVo9oHeabTusx9dZeJmVq3ceXX45AVIBZ086x36xDFtdKoTauu+B9Hu7VpLbR1PFZ1Y5FZ1mDuaj4pcpsmklhlpCYdu18wL3Sc8OyXD7o/M3dKQ9yt5UdZkAnVH9SrR4IieU8+vpSD6PL5NPze0Rjxxf/35xDMZjqJBifgKLxqQ0O9f+7w09Q6ZDAPNUIoHQPXOre6XW91h0sD1eF1u72W5e/fzRJtFaqmBljP1OorF11Irg/09OzXmWddlKBQwZQfzy6fPXABSQYNU8dVjktEbHJbGbo+MdDySqdrPZSDSYcbJRACA9EFwAZeepgvrhOCgO4j6R/xxasyPklXWFpt07XR1H40uyquqdts+VjoR0YnejdjEbmqJP6RwPpyeoDg6Bsxjve40C0An29ZJ9UE0QGFddSIVdPKtJQY5le2m34F1+370LmnvdG3MgPm3aIaDrmTxIEYn7hpA2JnkN5rJvD7OLGs1wQrrZ4OWQOidVOtr/O7RW3F1h2zjydBApi5Nq9lMuoKM/hs1syFeZ27dV9PBPbHvTcsjdKy3IlcG2hvFU/TU9EPoLH5qGrVq2UL91R9Lf0O5KTuY8B/dbwY4D/Nra+KtzDfXpQa/tKRGA2C+5urYeK6E/V7Tr0ODZRooM306nEXiL7stgfwr0pzxOQ2GASDNEFwAZGd1CG3gGF3bPyX3dX2PuZNoHT8JnTw0xehjM/lKyGQ4iE7QShp6did6wHnRSfdAZFYa+wakxTdsJtpfv6g6cNlTq2Su72TpahWaHaAT6mRfP5G+v58UNdruiCZLa7Y1G+JaRpWZ4FvP/8XjclNKZR1PNQ2KBCNRU6YSDzbqKguJqy5oxkI40CdjExN7xq2BEuB90eCC9ttwfP6fTfBLg2GmJ0fWDXHd/pUJNmi/jsbbv9zZ9viKdJW8ENeDX5vAQu0n/+9Og2Fnie3cAID3g+AC8I6mT+vdQK2ttm5TOknSLAbr+HHpWvSJqeKHrc+tWvqGpLihx5aiDpwHnUS7wvUy0vIL8Y/nytL2urmjnsyKK+qo6zsZGoTTLAV1VCnDUXIq2qS7unhPCUFn/gPpqy8zd0E9BY92VjhoqRV/m3PP3dPhgX5TJqXlHtbzapaH0iyI6BEN5k4jr7rDrPqgpR9aShEfX9rasvVYsEpVzwUgFfSajK8ec5ig2ykjgwGZnJnZM64BtdGJCfPVGghMNe0HYv3+AQB2BBeABNqoTTMY9stS0L4LWm++X5rycekycPHHmoZ92GTkema1FDt7TCM467Zk6YQsNBk1gQqt41Zav60lGfHn2lhS90llfwl8GEL+G6ZfwUzJf5LJzYgZ07IAzWiw7mulQYhk9juIZgpotoIGNKzbTmJibkGqXzzYU0LQnnNbnL/7obkLGl/hQMsKGq//fM/d08JHd0xJhPWc+rkRD/5po0UNAFj3SQVd9SFeBqFZC6n4LAIuqtnFRVP201WSaYKBvTXFu0ufBtwN0ucoefe8cmfJ1Nh7eSjoM8uihnraTXBxOBw029syrkmgw2Xe++05d6Sz8JGMjg7vlmkEG8tsrw8AsCO4AOxDyyB0CT1r6rOmVWtKtC5HZz3mOLR2Pd4cTu92th5Qw65111rjrvXl1m2H0SwMbQ4XbxanExFtDKdBE136Urcn0ombbtMmdVqDrsfosbpcpwYcrOfH5TK43CGjTX8v/uEXsrj93eoIySwDp9ePrlVvHU+GZgjoa8R7lKSC3r13e2Pvue6A7e5kolBHg4wNh8zjqeicFGe9lJ4er+18Spfo1P4p8ee6qsRpAir7ya5w7wYW9L2qS1pa9wEuEw0u6HKoGhjQYGDtJ9/bXfq07qu/leb7n5jnGiDUIETzg0/MkqeOK//ZHKPBxT5nqdne/PBzs1SqnsdT/Eyqf/1/m0BEvEwjUE/pBQAkg+ACcABtrqaBhP7R6T3js6vrJjU63rX9JEKTc7uNHDVgoRN66z5KMxwcnUGpT6JJnE5uXrxtNcfo8n+pWEJT79LqnWedPGnTS9/Y3p8FLo+M8nq5X1Ank4vLu8sGDkZm5PnrRttygok09fk4K0zEaTaABhbOqoGp9kbQlRms41YaRNHgnvVzIO7pmyZp8+1dUk8DLmaVmVOWcCj9fNDSkvj3qkGLWwmZT8BlpcuZ7hcM3NfcnH3sGCiLAIDkEFwADqGTA52E6ARiZvW7Py508qCp2t2DE7ZjkqXlF/ESBG2aZ21QN728al732+zaQ5uw6ZJ6OvnXwELi3dNU00me3oHWiZYuoUf5xOWx03jUabJcKm/+xtzh0zTjAU+TeDvd0vC2WHrKX0k40Cs9Zdmm83t/fZnpYzA2OiTVbr8pu7Ge9yD6vtOmkWd5PavnJc3mWraOx+nra4Bjv+wd/R71Z6LvP+s2pcE9fe9a39fHoQ0s9fX1567PNdinnzvWjCoAAIB0QHABSEJ4as4EA8qbd9KSlU4adHIST1U+Lg1MxNPFdfUIR0dgz3a9U6kTHy2hsB6r4p3zS1295z7R1zIO7QVR2eo7NPCBD4OWzWh5jj6u+Opn0pb32KQZN974hUkpbsy+JxXX/tGkGTu/+pFJNdZU4rorP5Cgu968V46TvaBZPd6hSdv4WdD3mDZrtTZp1B4n+v7SDAp9Pr+9LKPrgxLdWjDvXc1MOCibIU4bwGom0XEzGDSw+KCwwfwc4u9tLYXQIORpG1oCAACcFYILwDFoEEDvqCamQde4/WZyEp+EHIcuMam9F/TOsHXypUGFgjqPCSIkjmtZhjaB1KZx73uioXejdZJ1mgwOpD+dIMfvlo+MT0hjW48Mj47tWfawu6NdWjp7JdjlNmPB7p2vkZmd8hwt7dFAmPXcVuHpedMs0jp+ljRDQUuTtPSnd2hSMstaTY+DeOBsWbbEP/xclnL+tQz4b0lRQ0fSGQlaSqTlVfs1grTS5pX6vtfPk3jWxnTsc0V7ptBjAQAApDuCC8Ax6Z3ESnevtAxky0DfdZnYGJXh2QVzJ/84qd9Kl5PToIJOYvTOcOLx2lBR71Rq4CE+pneQtSu9TsASz5O4z3nTn4euPKENMIfXQhJc85q7u9b9cDG1B0ZNo8/4c13ycDR2vd/JqZX5dz0V4vqGInI7Nj4emxjvjidk1WhQLBixlxgk0gyhxBKk86QZOT+7lidfPinfff/pco8PCuok3PWpWTFDG1tWdXTL9HLywUQNzGiTx8RGrrNbczIe++xY3N4wjVv19fTnEy+B0CVrNTNKA5DW9zsAAEA6IrgAnMDYxrDMF/w7M9no9D0xd2S18Vqpy2vqrI/TKb4nHDF3JjVAoFkR8TRonVTohCO+n65g8aK0Veq7Bs0kRJu8aeq03uXUSYtOhJQeU+zsPlXDyZMIRYdlou6Hsnn/DyUwnmvbjotHJ8J6Te5X+nJQyr/efde+HA3d9uVc4ytMWEsQ4rSJ6klXljgNncjfL2gw2QrWf4/SQEJ1b1Ps+yuQ5uE2s59mV2ivE80g0sydZEqTdJUZzY549KZaBrs+l2jhn4proMC8X7tjnwO6VKy+l/U9rIGFs+45AQAAkEoEF4AT0Dvzod7fS6Tme+KdbjbLO+rkRCcFzq6gaa6owYFkUqGV1lPrCg86Scmt6jBjmtGgGQH6+GFhg8lY0MCF9mKIHrH8n07S9Dx6F9jayf6sTG/OyHjd3+wEFybybNtxseiEWwMBh92h94/PmOCDZuBYt5klVGPXnzXIpY1BtUxgv4nzs9iEOpXLTh5Fv5essjbz3tV/r3W70oCIlv6Mz+1kHGigpb69T+pae2V6bl7C45PS0h2Qt86OXZWuLimqbpXyBo/5+sbhlseFjebzQQOClV2tMlP6f5ngpD/4UF6Wt0lZc5/JXDoo8AIAAJDuCC4AJ6QN3nRCrfXZrp5BkwI+t7YuDV1BeZjvlIcF9fLtyxq5lVNrxqKra3tSyBPp+fROr97VfFHaYrIZPrlfYtK0dWLz69vFJ1oGUu+masM6DVSMvZscnaXRjSEJURZx4WlASpsZJrMMpAYWNMCgJTvWbdqHRFdb0Um1Zjrsjq+um2CZlgPEx3TSrpkQ1nOcBQ14aPaPTvT3WwkiToN4+t5JLOXQ96s2s+x0VIij9I20FT4Xn6vS9J3orS2S9uxbMhT0mUaXunpG99ss8TVW7C5lp40qr2dViS/aKMHhTIlsjtteFwAA4CIiuACc0uzSkri7+qU3ENptcKdGJybEFwxLm6dfnC1dUt3QLo4mj7TF9h0YHN6z78zCzmRcezd8+9IhRa1O8YazpdbvlKsZ35VKnJTefdaJW0ts0qM9EbRPhHWfVJpfW5PJ2dkDzS7a71rj/Iysh2RgvtEExxLHPcFxkx2jJTjH6eOhzQ31GC3V0dR/63ZtQqp9G/TcmqHTOzwZO0akuL7bLOc4sjQh/plq6Y64Y/vbSzBSQd8DWrak2RRa1qDlG9Z9Eul2zbDQlWISxzW40HT3YxMwaL7/iTgz70lt9jOpufOZ1P3+x2aFDG9lvvRU5JrVM5rv/kaaH3wqTd1BU7ak2UiJpRd6vmjsM+Sk5lePDgABAACcB4ILwCnpH/h6t7L24e+lvqRQ3JnfyFAoIJ35D8RbUySBtnoZHgqJ++UtaX55VxoKsqSmpl6Kr/5KyvLypKqmUZ7cvid///tX8tu7b+SzhyUS7PvapExP1P61ZDuc5s6w0rutujyd0xM0gQjr93IU/+AT2br738po88/PNLtgbmVF/K110usoNnd0vdWF5m6ur6VWemuKZXz8fEo1YDezNSvjdf9Ftu78MwkMPpSnb5p2mhfmOEwpw9wRJTeH0SUU4+fTrJv9AhTasPBtU6/ZR13Pqpa+0HPz/UxV/IX4ZwZTtgqKBjH0/aKTeu2RYF155SAaZNHMiv1KNLRBpTVYpvyDw+Jq75PKhg5xtPRIVaNHKho6pcrlkZrmbmnz6c/DHjjR94q3Kl88hY+lI+e2eZ+4M66ZrIew3ys+V5V5H3WXvpTRkWHpry8znyvx99XocMh2TgAAgPeB4AJwShpc6HrzQhqu/0xcj7+UN7/+vrgriqU9NlFoe/Z7aXl0RfwtDml+8IlJla774ofmzmbzo893t/U53phJlypp7IlNil7JYu6/kZD3K3H5BnZfSydruo+mrWsjOZ0Q6p3f+q7Qvo3orALhd8GFlp+deXBB79q2Pv3SpJCbf3tdiXQWP5XaT74nwfYG2zE4H9GteRlu+ydZe/Y/Sf9I9omWUD2K9imobQ+Y4MGt2DWqE3ztK6JlEHE1se3ayFSzHXpGi2Ql83+RkdZfyFeZhfKTL3Pk7373Un55q0iKnV2mF4le9/tNzjXIpiUX+p4ocnabJSXjgQsNYgzPJH+d6/etZRyJy1CeNX2vtGVck86Ch+Z9Yj4b7n9i3j/6eeGtLpDG27+MvW/+UgZ9XnFn3ZDWjKu77ytfY7ntnAAAAO8DwQXglPRO5sLamqmpNl9jXN1BeVxYL9Wt/TIxv7CzLS6+bwJNjdaadU3ZzqvtlDv51fK4+o30RYblF9/kxyY7bbbXjdO7vC5v2EzitMP8fndb42a3ohJc6zFL4Fm3pdLixsZ3qduLi7uPh7qaJDI2RCr3eza5GZHBNZ+0h0JmZYfDmjamgjZL1OCCNi2M0yaomiWhDRWrOrxSN9Ak5Z2t8utbr00jSV0C0zc6LXdeOeSjmwWmB4SupBCn17pm8mggQM/XFHsPaIPJ/bIlkuHoGDDZCv6xvaUiZ21PCdHMjC0jQgXdThkJ+c3jcJ9nz77xkioAAID3jeACcIb0jqtOguJr2OdUtpuJkE5kdPnK+LJzqrLVZ+6c6vJ2Wrf+V79+JsHIrAQGh6W+tVtaO/v29GlIND45aSb02oFfm9Rp1/3pI+5IT0WjtknMeYouHxwEwfnQwNbw2IQ4mrvEGxiUyPS0jd5Ztx6XCtoIUoNp8aaO+h7QLJzQyJj5fjq8AfO12xeKXd9T0tozYN4bR/VKOA59v2kpiAYVdJUX63YAAAAkj+ACcI40hVvrvnVCpV3qrVkGGnzQpSb18Q8+zRR3YEQ6cu9Je81bcZQUi6s429Rkaxq19jQYDgel49Vt09chOvfdHVdNIdc70o6OgO17UJptYa3z7ne+lb6a1+JvqjE9IuId8Ac8Tab22/HZ900vCX2tXsfr3V4SWv6h9eE9lXm7fRXi9eGJ/RY68u7t6bswOTVh+75wvjSDpP3VHWmNXU8eT5c48l9KMLTTmFRLWrS+f7Cj3nbcaWhmga5gooGF+PWvyy/qqisaYHBnXZfulgapffat9DlLxV35Wupe50tlTYMp/7mRWbP7HjkJzfTR91986djEFSsAAABwcgQXgDShnfP1Lmr8+Y+uZEltR8DUWGsgoPbZLSn75lfSWVEkzfd/a2qydfKltdfau2G0Vzvt7z2n1rVrTXt0bW+TPg0uWOu8Wx5fkcZbH4nr249MHwit99ZzN974hXmsPSX6G8rNa7kzr+/pJWG64j/8NKGvwk59eGK/hbqvfmReJ953Iexpsn2/OF8aXNDrq/3lTXMtNT38XJoqy8RZWixtRRnm/3igscx23EloDwMNDujSqlrCkLhNy3q0bOJeXr1phDo0OCDVN34lzfnPY9fVZ+Y66q0uMtk9us/Pr+XJF4/LTQZQ/+j0gUtmanaElkrofrrM6052RL3pB2F9TwAAAOB0CC4AaUAb0b1p6Nl9runaf3vlpZQ395sJoKamzy4vy9OiBskscZnnVhowsJ5XaRaD1rAPWpbUs/VE0K8J/RGs/RKSZfoqjIbtx797HO+7oL0nrN8rztdy7JrZ8//37v8oEp2XOnef5FW0yOu6TglN7r12jkMn/y/etpplKOu7Q/s2StSSIZ3s68Q/fr2rrNi1HplbkLnYta8lHInHZJa1yIvSFrMEZry86FGRyzzW19IeJPq4rKnP9DM5qkwIAAAAp0NwAXiPdKL15HWTubOaOK7L+H10s8gEHRLHe8IR+eppuZksWc91GG2cp2USujSfdRtwmPDUnOTXdJp+CLo6SW51h+kboteoXk/xVU76Yo91xQbdFl/JRLNmdPI/PrdkO28i3Ve/anAhcVzPqwED6/5xOZVu85rWcQAAAJw/ggu4NBa212RxO31SocdiE67rmdWm6aN1mwYcrmdVy+Ni+8TqbmwCdjOr1jZ+lKWtbXN3V3s+WLcBydLrVq+hlv5hE0jQZSY1Q6DA4THP3f7RI4MJiTRAoQEIfazXp3W7Lg15UOaE9m/QVSQOKosAAADA+SG4gEthdGNIhtt/JcGBOxLdev9Lt2nNt6Zt77cE4OLmlumKH19FwrpdV5L4h9/nmsZ01m1H0QCDnlvr0K3bgPdBVzeZWVkz7wVdWcW6fXp51ZbRkEiXudQyCOs4AAAAzhfBBVwKA5NvZPvWH8hK5v8sI+tB2/bzovXnmq1gLYNIVNLoNatE6KRrv+CC+s2dN9Lcd7KO+Rq80KZ63O3F+6YBBV21QR9rPwZro8c4XVr1sGyIarf/wGMBAABwPggu4FLQzIWhd5kLObWNJtVal7+z7ndWNPVb68p1qUlt1mjdHre4tWXSvDW1XFd60O9TO95b96vrDJreC9bxZOndXg1y7NdcDzgven3HG41qJo9e/9Z9lO6j7x3reJxex9cza2zjAAAAOD8EF3BpLL7rubC4sSFDk7OSXd4iL0qapMM/bFYu0G70x6Hnsb5GIk31LnX1mmBBUV3XoUGFuNyqDukKTZg7tZpZ4PQE921Yp+f68ZfZtvHjaA+Mmjp56zhwHiaXVnbLHYZnFySzrNW2T6KjSh90Gdf93isAAAA4HwQXcOn0VuZJT0WuBNrqpb+pWtoqisRZWSaNznpprXgt3dVFMtjfI/3Ot+JrKBdvdaEMBX3ic1WKr7lGeh3F0ltTLCPDg7Zza9mDdtbXLAVdXm+/Zo0H0X1flreZx3oXV7/qpEsb5ln3Vf94o0AGJmZt48ehDSMPapYHnCVdfSJe6qCPIwvLtn0S5dd6JBiJ2sbjtJ+Irk5hHQcAAMD5ILiAS6e7+Kl4ip9Jy6Mr4s66IS2Pr0jHq7vSW1Ug7tIcKf/qH6Tm5SMp/+Yjefv7n0v51/8oTW9eGbV3P5fKL38iZR/9P9JU/sZ0yddAgnpQ0CBvGnp207yPY3plTb5+UWXSu/1jM3syCm4fMGH6JrPaLAtoHT+O6NrGkXeEgVRz+0ekuH5nmVXNNtD3jXUfq4HI7JGZNvfy60/U6BQAAACnR3ABl05kZkbGIpEDaXZCONAnYxMTxtDomISGRsQXDItvYFA6at+Kt7NDwrFxnZxbz39cGli4llFllvjT57oMZWKfBW3sOLe+93V0CT5thHdQ4OE4dGLXMTBmGwfOgpb7xANpep1/80J7f9j3289BDU7j6joHKI0AAAB4TwguAO+RTrSuPq+U8fmdwEJ0fcOW2l3fFbKtDKGlDHoXV2vWNR3cet7j0ONvZtEMD2dPgwjag0Qbiuq1rkE17b1g3e8gRwUXZlbXTXDOOg4AAICzR3ABeE/84zMmsJC4akV+baf0jUzt2U8nTNobIXFM79DqihJFzm6TLm4993FpoEL7RVjHgVR6XtJssmS02almL4Sn5237HEYbnWqmj3U8UbxJJAAAAM4XwQXgnGk6uAYRnr1p3rOChJY+3MreaeRoFW/wGKfBBp2g6YoPjo4B2/7HpQEM7RlhHQdSRa95DYppE1LNWBiNLtr2OUpZU58t+GZFcAEAAOD9ILgAnKOWviH5Ojax2q/HgS7Fp80crePqdX2P9A1PmseLW1u7vRa0w358hYnT0nIMPbd1HDippe11iW4tmqVYi2PXcE6l2wTGklmWdT9aHuTyhm3jiQguAAAAvB8EF4AUmtqcitlbXqC15VVtPrmeWS01bv++PRLCU3Py9M3BteLTy2vyqMhlJmuu/oA0dO8sg6k17Noh37r/STg9QRP8sI4DJxHdWpBg4JaMNv29lHfXmlVJtBTIut9xaNZCWXOfbTxucjMivaP5El7plmWxv88AAABwdgguACkyuj4okdrvy7jzh+Kd7ttZpvJVnTwqajT9Eaz7x2mZhHbM19IE67ZEz6scEvLdkKGO38jY+vDueKru1GqZBc3wkCrhlZAsZP8r2b71BzIwnmfbfhKB8Vl50+i1je9uDz0wrzdV8RcyuXl4+QQAAABSi+ACkCLBFY9s3v9D2Xj434t3rjPpLvivqtr3LZOwahlrk9Wnf7QzWZv7rgdDqoILyrpSBXAS2lfhdn6l9A89l7DnExnbSE1GTGgyKsXObtt4nH+qVBZf/bEMeT415RjW7QAAADg7BBeAFNE08ECkQPrG82Vua2dpyaN0BseS7pkwtTErvv6bEu76VCY2vgtGpCq4sLC9Kp3jtRJcdMvi9uEd+YH9aM8ODZbFm5VqacLS9oYsx8YX1tcPtLixYTvXfrSs4rDMBb1uNYNoZitq2wYAAICzRXABSDGd7C+srUl0aelQ4fEpya9sldnFRdu2ueVl23nVq6o2GZic2jNZyyxttk3WEmnZhfU8+wmtdsn6k/9BVjP+hYTX+m3bgcPEm5X2hCO2bR1Z30j7y29lLBKRQFu99DreyFDQJ77GCumrL5O+uje2Y/ajwThHR8A2vp+JqSmJTE/L0ubJmkcCAADgeAguACmmwYWuggfSU5ErPlelhAO90ltdKCNDg9L99qV0vcmQvtikqqGhRfobKqW75IXZz99aF5t0FZvHOgGbX16wnXt6Zc00cPTVFomvqdpM1mqzn8qApyV2XJV4qwvE11xjzjPY32POMxvd22DyIOF1v8wX/AeJvvk/ZHg9aNsO7Ef7iVzPrJGKln7TYNS6XXVkXJWmux+b67Xl0RVxZ16X3roSaXl8xYy3Z9+yHbOf+q6QtPlGbOP7aX36pQloJJsVAQAAgNMhuACkkGYJ6OS/89Vt6S7JNEEFT9FTafz2H2XQ55XGWx9J3dWfSvmdL8Vb+9oEA5offb67X2tsEmYmXbEJ2ITfYzu/0pTzjqLn0l9fZgISlXe/jB37xJyr9flVo+HG/2eCG3qeEW9yZRdLsmVSysc2wrIsLEmJg2nzz1KXdzeosLB5+PUyu7RkAgsH0SwD6zH7ya/1SHh63ja+H732NXBBcAEAAOB8EFwAUkiXlMyv7TSlDpqSbTU0NiE1Lo+MTERs2xJNzhy8ZN/43JKU1XvMpGxkfEJaPX17J2sTEyZ7IRzYGdcSDes5jjKzsGD7nk5CyzKs50Z6md2aM5kq0a3DJ+2DsWv7bVOv3M5xmGVRuwcnbPucNQ3cJVvmM7eyYiS7PwAAAE6H4AKQQgUOj+mUbx1X3qFJuZ5Zbe76Wrcdly5vOT6/tNPgrqHHtv20tKyju/yVdLy6Kx1590x9fL/zrXhjYzs186/Nc19DpSn36Cx4JN6aQhPUMLX0rqrY2EOJLszZzo30sbS9LkH/TdNnYyB4V3pHJljzJK8AAFKtSURBVMTtHxGXNyyv63vkQWGD3MtzmiVVNWjWOzxpO8d5upvrtI0BAAAgPRBcAFJE6801Tdw6rjR1/EmxS5a2UnMXNbKwYno71LQHTJM76/bT0rKOsN9rSjTqvvqReCvzTX28BhHiNfP6vC3rhin30LKOlkefm5IM3VdLNKp/8xcyPTVuOzfSx8L2igy3/8osb6pLRla09Uhd54AJMPjGps2KD9Zj3hf9Xh4UNNjGAQAAkB4ILgApUu32S2PP4J6x6eVVuZXjMBM26/6npXeSr2fVxF7j9JkQVntWu4ivZmFd1cL6fJ8xXdXCem6kl7GNYQnOVsj4RnKNEt+XjoExE0yzjgMAACA9EFwAUmA0uijfZtfuGdNshZsva02PBOv+qbC4uSV/81nWgR36geNY2tqS6fn5Q2kPA+tx50UbmU4uvb/XBwAAwOEILgCnpMtDXn1eudtLQcsUvn5RZerWrfumkqaJf/agVCpbfbZtwHHpqgrdZTk7S6g210hfXYmEetrN8qn+2PPhoZAE3XW2486LZgBZxwAAAJA+CC4ApzAyu2ACC9pcsaF70PRc0CX6NKvAum+qaV28oyMgt7IdMjG/bNsOHIcGFzyFj8VT/Mz0zqi78gNpy7hmlk9tuv0r8bc4xO8ssR13HnRlilJXr20cAAAA6YPgApCEZdmWyc2IRLcWzfOFzS0prOsyGQqPixrNBN/pCZ7rsncPCxtlZnVdJhdX5GbW/o0kgWRpf4zdEoi5OVtJxPssi9BVIqJrG7ZxAAAApA+CC0ASQktumS77cwl3fS6PSqvlR7/LliuP3kqRs1siC+efNbAYmwjeefVdirqWYJQ0em37ARedZgVpvwXrOAAAANILwQUgCQNjOWa5voWCfy/e6b6ULSl5UlqCUd8V2jOmmQyDU3O2fYGL7HGxyzRMtY4DAAAgvRBcAJIQ2ZyQwOBDCcxUydL2um37edMyCGuAQ9PGtf+DNnq07g9cROGpOckobbGNAwAAIP0QXACOSevOo0tLxvuoQe8dnpSiui7buApNzsnthHIJ4CLT5V11NRbrOAAAANIPwQXgmDwFD2UoFDDL9fXWFtm2nzWdcEXXD25u19o/LDmVbts4cJFUu/3i6BiwjQMAACA9EVwAjqkz9670N5Sb5fpaH35m236W2nwjZqlL67hVsbPbrF5hHQfS27ZMbIzJ4PKA3Muv3Wc7AAAA0hXBBeCYpqJRiUxPS2Rqyjy2bj8r2mPh64yqpJe7fFTkEk9o3DYOpCsNLEzWfE8Wc/9EQsvttu0AAABIXwQXgAsiu8It3YMTtvGDaBDiXp7zWMcA79Po+qAs5v4b2bz/hzIwR+8QAACAi4TgAnABeIcmJauszTZ+FA0w3M11muOt24B0s7i9IaGlNhNYiG6x/CQAAMBFQnABSGPh1T4J+m9K67BDFre2bNuToeUUt3Mc0jcyZdsGpKuFtTWZnp9PqfexugsAAMBlQXABSFOL2+sy7P6VbN/6Axlr+LtT3cnVAINmMOhKEtZtQDrqKXwoAXeD9FYXSqCtXtpzbstQyC8defdkKOgTX0ut9NYUy/BQSHyuyj3POwsexcSOb6+XsN8r/c634m+qkYmJUdvrAAAAIDUILgBpalm2JTBRIDOl/6f4h5+blHHrPsf1srxN3jb12saBdNNfmSuewsfSU5ErLY+uiDvzuvTWFEndVz8Sb2W+dBY/ldpPvif+FocJQFif133xQ2m88QvzuOXxFXF9+5GEOhptrwMAAIDUILgApLGl7XWZ3IzI4vaaLG9tydLm5qnVtPkku7xVFjc2k155AjhvC6urtrIGY27OfA11NMjYcGh33Po8vl/i4+jysu11AAAAkBoEF4ALQAMLY5FIyvhDYXG5vTI2OW17LQAAAAA4LoILwAWgGQcdufdMXbm/tU68lXnia6yQ/voyGQoFTM251qX3VhdIX81rGR0ZNvv1OopNvbm3/JX4mmuku+SFBDpcZlt3VZGUVjjE7f+w6tA1y2Nma9aUlVi3AQAAADgbBBeAC0AzF9xZN8RblS+eoqfS/PAzQ8f6nKU7deWPrkj97/9OGm99JIM+r9mv9emXpt5cG9y1Pr8qTfd+Y+rWdVvL0y/E11gu+bWdklHacuLVKNLJwvaqBAYfyGT1X0pwvsG2HQAAAMDZILgAXBCLGxuysL6+x8RQYO/Y2toO61ji1wQatNBz9w1PyrWMKvGGI7bXvUgmN6dkuuzPzQobof6vbdsBAAAAnA2CCwCMxc0tya3ukHv59TK5uGLbfhEsyaZ4x0tksOd3Mrzms20HAAAAcDYILgDYY3x+Se7lOaXA4blwpRLdgxOSW9URe7wtS7HvfW5l5cTiWR0AAAAAjkZwAcC+PKFxuZlVY4IMc+sbtu3pZn5jU77OqJKlrZ1GjhogaM++Jd1vX4q/xSHtOXdkKOSXpru/ltHRdw0va1/LUNAnbRnXzPPhcFA6Xt02zTFnZqdsrwEAAABgfwQXABxK+zHcznHIy/I2mVpatW1PB8vbYrItAuOzu2MaXOh680Iab/5COoufiqf4mWlmWfXLPzcBhXhTy966Emm+/1vzXJtjauNLbY453NNqex0AAAAA+yO4ACApock5eVjYKHdzndLYM5g2JRMaWLhf0CAdA2N7xrWBZWRqSiLT0ycyv5qegRQAAAAgHRFcAHAsC5tbUt8Vkjuv6uRB4c6kXptBWvc7D9H1DfN9eILjtm0AAAAAzg/BBQAnNru6LlVtPpM5oJP8F29bxe0fMf0PrPtqk8WxjREZWg/I4vb6PtuPR4Ma2mNBMyqs2wAAAACcL4ILAFImsrAijo4BE2zQ8ol7efVGTqVb2ke8Mln9PVnO+pcSXGiyHZss/9iM6a+QX+uR5e2d5o0AAAAA3i+CCwDOnC5v6Yv6ZK7oT2XzwT8X10ChfHL3jTT1Ddn23c/E/LJUu/3ybXat5Nd0yszKmm0fAAAAAO8PwQUA52JZtmRw1SsDCy7pmxiRj28Xy6++LZK//TxTfnmrSO7nN8irqnYpa+6T7Aq3PHndJLdyHKbcIrOs1ZRBxJeZBAAAAJBeCC4AOHe6ksNkNCoVjV3S0h0Q3+ColDjapaLBI8GRcQmPT8r0/Pyupc39ejgAAAAASBcEFwCcu+78e+IpeiqBtnpp7/RIQ9Y9GQr6pC3/sThr6qSrvU16KvPMmK+lVqbGh23nAAAAAJA+CC4AOHc9RY+ks/iptDy6Iv4Wh1Te+EhaS/Ol8dt/lJ6KXGnMuidlV2OPa16b/YKuMts5AAAAAKQPggsAzp2WRSSWPajSug7pb66VseGQeT48MSVF1a3S7qiQ2ekJ2zkAAAAApA+CCwDSwuTSimngmDimS00+K2mWmvaAbX8AAAAA6YPgAoC0UdXmk4buQdt4sbNb8ms9tnEAAAAA6YHgAoC0sbwtcvNlrW1cVbv9UuAgwAAAAACkI4ILANKKBhB8Y9O2cVXq6o3x2sYBAAAAvF8EFwCklenlNXlU5LKNx+VWdUhL35BtHAAAAMD7Q3ABQNq5m+u0jSXSxo9D0/O2cQAAAADvB8EFAGkno7TFrB5hHY+Lrm3ItYwqWdzcsm0DAAAAcP4ILgBIO819Q/uuGpGod3hSXla4beMAAAAAzh/BBQBpR0seklkZ4sXbVukf3b/5IwAAAIDzQ3ABQNqZWlqVzLJW27jVwuaWXM+sto0DAAAAOF8EFwCkHe2l8LCw0Ta+n5r2wJElFAAAAADOFsEFAGlneXtbHhQ02Mb3s7wt8s2LanOMdRsAAACA80FwAUDaGY0uSm5Vh238IPVdIcM6DgAAAOB8EFwAkHY8wXGpbQ/Yxg+i2Qs3s2ps4wAAAADOB8EFAGmnstUn3YMTtvHDFNZ1sXIEAAAA8J4QXACQdu7l1Zumjtbxw+gKE0/fNNnGAQAAAJw9ggsA0oo2Zrzzqs42noxbOQ5TImEdBwAAAHC2CC4ASBvLsi2ewRGpavPZtiWjoqVfukLHK6cAAAAAcHoEFwCkhcXtNfGPvZJh9y9lcKXPtj0Z4/NLklXWZhsHAAAAcLYILgBIC5GNcYkW/5ls3/oDCQ7ctW1P1klLKgAAAACcHMEFAGlhYXtVAuEnMub6qYSXu2zbk3Uvv14Wt47XDBIAAADA6RBcAJA2lrY3JaOy3jR1XFhfP5GKZq8Ex6f3jC1tbtpeCwAAAEDqEFwAkFYySltkIjov3qp88RQ+luYHn0rY75V+51vxNVRKe84dGQr5JdBWL72O19L99qX4mqpkOBwUn6tKWvIeS1vla/G31sW2F4un4JGMjQ7ZXgcAAABA6hBcAJBWmrxhcfcNSlvGNekseCjNDz4Rb2W+tDy+Im1ZN8RT/Ex6a4qk5dEVcWdel8ZbH0lHzm3pc5aKt7pAXPc/FWfeC/EUPZXWjKviuPIDCbY5ba8DAAAAIHUILgBIK9H1DcmtaJGxSGTHxMTer0lo7uzd83xyZsb2OgAAAABSh+ACgLTzpNglkfkl0yvhJB4XNe55rj0crK8BAAAAIHUILgBIO6HJOcl822obT9a9vHrbGAAAAICzQ3ABQFp6VtIswUjUNp4MggsAAADA+SK4ACAtae+Fr19UydLW8UsaDgsuzKysSV3ngDwqcsn9ggbzGnde1ZlVKu7l1++qaOmXmdV12/EAAAAA7AguAEhb3qFJEwCwjh9lv+CCJzQeG3fKg8IGcftHDw0caI+GjoExeVzskls5DmnsGbTtAwAAAOA7BBcApLWW/mGTVWAdP4wGEeKPJ+aX5farOnnT0CPzG5u2fZNR0x6Q65nV4gmOy8TGuIxuhGVxe8O2HwAAAHBZEVwAkPaa+4bkdo5DomtHT+gXt7ZMdoI+ru8OmZKHycUV237HpedtCnVJpPavZTHvTyS05LbtAwAAAFxWBBcAXAhD0/NyLaNKWvuHbdsSjcwuSF51h9S4/ZJTmdoAwOj6oCzm/ols3vvvZGCu1rYdAAAAuKwILgC4MLQXQnlzn9zIqhGXN2wrc4huLYh/1iFto/VSVO+xHX9aWgoRXHLLwJzDvJZ1OwAAAHBZEVwAcOEsbG6ZJovaW+Fu7k6TxtyqDumNVJisgvmC/yCjG0O241JpYW1Npufn99Dgh3U/AAAA4DIguADggzA8syCBuSZZyvlfTV+Eiu7WQ1eEOK3O7Jvib62T1ue/l3CgT7pLMmVioMe2HwAAAHAZEFwA8MFY2t6QkfWQTGyMyeDUnNzMqjErPVj3S4W2x5+Lr7FCeqsLzdfO4qcy1t9u2w8AAAC4DAguAPggTc/NSWR6Wrp9IXG2dstYZNI8V1PRqG3/45pfXZXJ2dldek7KIgAAAHBZEVwA8EFyZ1yV3poiCbTVS1d1sVTnZkmPs0K81QXiybtv2x8AAADAyRFcAPBBarn7sXiKn0nLoyvSdOfX0lOZL2U3fiv1t38jvvq3tv0BAAAAnBzBBQAfJF3NYW5lZY/o0pLklLVI7+CYbX8AAAAAJ0dwAcClon0RbmU7JDR5+r4LAAAAAHYQXABw6cxvbMq1jCqZXFqxbQMAAABwfAQXAFxKkYVls1SldRwAAADA8RFcAHBptfQPS4HDYxsHAAAAcDwEFwBcao+KXDI8s2AbBwAAAJA8ggsALrXplTX5NrvWNg4AAAAgeQQXAFx6ZU190uYbsY0DAAAASA7BBQCX3tLWtlzPpLkjAAAAcFIEFwAgptTVKx0DY7ZxAAAAAEcjuAAAMQubW3L7VZ1tHAAAAMDRCC4AwDtPil0yubRiGwcAAABwOIILAPCOb2xaCuu6bOMAAAAADkdwAQAS3M5x2MYAAAAAHI7gAgAkeFTUKLOr67ZxAAAAAAcjuAAACVzesDT2DNrGAQAAAByM4AIAJNCGji/ettrGAQAAAByM4AIAWNzNddrGAAAAAByM4AIAWNzLI7gAAAAAHAfBBQCwuF/QIMvb27ZxAAAAAPsjuAAAFrlVHTIaXbSNAwAAANgfwQUAsChr7pO+kSnbOAAAAID9EVwAAIsat1+6QhO2cQAAAAD7I7gAABbOrqC4/SO2cQAAAAD7I7gAABZOT1A6BsZs4wAAAAD2R3ABACzouQAAAAAcD8EFALAocHgkPDVnGwcAAACwP4ILAGDxuNglc+sbtnEAAAAA+yO4AAAW9/KctjEAAAAAByO4AAAWd3MJLgAAAADHQXABABJE1zbkUZHLNg4AAADgYAQXACBBm2/ELEVpHQcAAABwMIILAJAgo7RFIgsrtnEAAAAAByO4AAAJbmU7bGMAAAAADkdwAQDeCU1GJb+m0zYOAAAA4HAEFwAgZnIzIg3BNhmajdq2AQAAADgcwQUAl97U5qSMN/5YFvL/rQQXW23bAQAAAByO4AKAS290Y0jmC/6dbN35b8Q7/kYm5pdt+wAAAAA4GMEFAJfe0vamBJfcEpgpl1xnozwsbJRnJc0ys7Jm2xcAAACAHcEFAEhQ09ovHt+ghMcnpbjGbR5Pz8+f2MzCgu01AAAAgA8NwQUASBBsrpLavJcSaHXK8FBImsuKpObRN9Jb+1q81YUyFPSJr7lG3C++kdGRYelzloqvscKMdZe8kEBbvfQ6Xkugw2XGvNUFsry9bXsdAAAA4ENCcAEAEvhqi8RTXyOObz8Wf4tDeqsLpSnjhrz5+PvSdP8T6a0rkY7ce+L49Hsy6PNKd1mOND/8TFqfX5Wme7+RlkdXxJ15XXprisyYPie4AAAAgA8dwQUASLCwtiaTs7NS0dBpvsaFR8flbV27jE1N74zNzOzZbnv+bmwqGiW4AAAAgA8ewQUA2Mf9ggZZ3NraMzYyuyDfvKiWxc294wAAAMBlR3ABAPZR6uqVvpEp23j/6LQJPFjHAQAAgMuM4AIA7KM9MCpOT9A2rnS8rLnPNg4AAABcVgQXAGAf3YMTUu3228bj7uXVy9D0vG0cAAAAuIwILgDAPrzhiFS2+mzjcTOr63LzZa1tHAAAALiMCC4AwD609MHtH7WNJ9LSiJa+Ids4AAAAcNkQXACAfeRUtsvY3JJtPNHytsj1zGrbOAAAAHDZEFwAgH3cflVnG9uPlk60+UZs4wAAAMBlQnABACyiaxvysLDRNr6fxa0tuZXjsI0DAAAAlwnBBQCwKG/uk46BMdv4QZ6VNEtkYdk2DgAAAFwWBBcAIIFmIlzPrLGNH8Y/NiOFdV22cQAAAOCyILgAAAmKnd3HylqIS7ZHAwAAAPAhIrgAAO/4xqblUZHLNp6M+wUNsrC5ZRsHAAAALgOCCwAutWXZktH1sAythuR6VpUsnjBAUNHSLz3hiG0cAAAAuAwILgC41IbWB2Su+D/KXNGfSW+0R4am52VmZc2231H6R6elpNFrGwcAAAAuA4ILAC61wbVeWXv2P8ra0z+S7pl2Ka7vlozSFrmb6zTqu0KyvG0/zkozHh4UNtjGAQAAgMuA4AKAS21he02Ci60SWmgxjxO3acCgoXtQvn5RJU5P0Has1b28etsYAAAAcBkQXACAd+ZWVmR6fn5fbm9QSuraZWJm1jyPLi3Zjie4AAAAgMuK4AIAvOOveyMDnhYJB3ol7PeK69Y/SWfBQxkdGZau188k4PVITUGudFUVychAv+34WzkO2xgAAABwGRBcAIB3uvLvi6foScxT6a0ulNbnV8Xx+fdl0OeVxus/N2PdVfny5spPpLsiz3b8tYwq2xgAAABwGRBcAIB3osvLtnKI6bk525ivxSHZeWWytLW95/gvn5TbzgkAAABcBgQXAOAEugcn5FVV+56x65nVtv0AAACAy4DgAgCc0LM3zRKemtt9fudVnW0fAAAA4DIguAAAJzS1tCqPihrN48mlFXlc7LLtAwAAAFwGBBcA4BQeFDTI9MqaNHnDUt7cZ9sOAAAAXAYEFwDgFDzBcalq88mLt63SPzpt2w4AAABcBgQXAOAUFja3TPbC1xlVsrz93bhmM7T5RiS3ukNuZTsko7TFeFjYKFllbeL0BCUYidrOBwAAAFxEBBcA4FS2pajZJRkV9Sa40NgzKN9m15pmj86uoIxGF23HaH8Gt39Uiuq65ObLWpP1MBCZte0HAAAAXBQEFwDgFMIr3RKp+SsJd38uOXX1JqCwtLVt2+8w4/NLkl/baQINAxMEGQAAAHDxEFwAgFMYiBTK9q0/kMVXfyyNIfe+mQrJiq5vyMsKtzwobJCZ1XXbdgAAACBdEVwAgFOIbE5IcOCOeMcKJTw7I5lvW02PBe23YN03WRqguJZRRakEAAAALgyCCwCQAo6OgLj7wjK3siLR5WWpaeuTV+UtEonOm7Hl7eOVSsxvbMq9PKe4vGHbNgAAACDdEFwAgBTQPgult7+UzuKnMhT0ia+5Rtpy7kiDq1U8tW9lZnrCdkwynpc0S8fAmG0cAAAASCcEFwAgReoKsqXh3m+lt65EOnLvieOTvxJ/s0Nqc55Kc3mxbf9k6AoUt1/V0egRAAAAaY3gAgCkSHBkXNzdfolMT+8xEfP8TZP0DU/ajkmGlkiUtLtkIFoto+uDtu0AAADA+0ZwAQBSRLMM7uY6beNqcWtLvs6oktkTrAIxt7EuQd8N2b71X8mY66cS3Vqw7QMAAAC8TwQXACCFDgouqKHpedOk0Tq+Hw1CFDg8piTiQWG9+IeeyWrGv5Bw1+cyv71i2x8AAAB4nwguAEAK3curt40lKq7vlq7Qwc0dtQQis6zVBCl8Y9O749GtRRlaD8j05ndjAAAAQLoguAAAKXRUcGFhc0tuvqy1jav+0WlTOhEYP7h5oy5pae3pkEiXvbQeAwAAAJw1ggsAkEJHBRdUsbNbvOHInrE234jcL2iQxc0t2/6Jlre2pPvtS+kuzZLO/AfS31ghgbZ68RQ/ldHRYRloLLMdAwAAAJw1ggsAkELJ9FSYWV2Xx8Wu3eftgdE9zw+jwQVP0RMTWGjPuS1tz69Ky6MrUvvZ92Uo6BO/843tGAAAAOCsEVwAgBRKJrigbuc4zNfIworczKqxbT9MdGnJmJmLymigZ/e5WtzYsO0PAAAAnDWCCwCQQskGF3QliGAkaoIMGmCwbgcAAAAuEoILAJAiA5FZEzSwju+nY2BMXlW1S2Fdl20bAAAAcNEQXACAFHlZ4ZaR2QXb+H50v198ky9z65QxAAAA4OIjuAAAKXLrXR+FZMxvbMpPv8yxjQMAAAAXEcEFAEgBXVqyyNltGz+IJzguH995bRsHAAAALiKCCwCQArriw8Lmlm38IGVNfXIto8o2DgAAAFxEBBcA4JTc/hETLLCOHyanql3u5zfYxgEAAICLiOACAJzC7Oq6fJ1RJUtb27ZtB4luLUpPpEJ6ppyyuL1u2w4AAABcNAQXAOAUbr+qk+GZ5FaIiAsuNMnmg38uy5n/UobWA7btAAAAwEVDcAEATqjA4ZHGnkHb+FEGV7wyV/inMln9PRnbGLFtBwAAAC4aggsAcAK51R3H7rMQd7+wXgbmAzKxMRZ7nnw5BQAAAJCuCC4AQBKWtjdkdD0skxuT8uR1k9R3h2z7JCOnsl2avOHd59NzcxKZnk7K/Oqq7XwAAABAOiC4AABJCM43yOKrP5bRpn8Q70TQtv0oukzlg4IGcXQM7Blvz/xG/K11MtDeKN1lL8XnqhRfc4301hZJn7PUPO4ueSGBtnqZmo7YzgsAAACkA4ILAJCEQKRItu781zJX/GfSMeaV5W37PgdxeoLy9Ysq8Y/P2La1PPhEfI0V0vzgU/G8fi691YXS+vyq1F/7qXgr883jpnu/kZZHV2Sou8V2PAAAAJAOCC4AQBJmtmbFP1spoeV2cfYMyLfZtZJV1iZu/4jMrO5dTnJmZU284YhklLaY/TS4YD1f3ML6usytrOy1vLzv46XNTdvxAAAAQDoguAAAxxRdWpLp+XkZiUxJR19IKho9UlrXIcWODnlQ2CDPSpql2u2XyMKy7VgAAADgQ0RwAQCOKehpFp+rarcXQq/jtXk+Pvpdo0YAAADgMiG4AADH1FdbLN7qAml+9LnpheDOvG6eB1wVtn0BAACAy4DgAgAc08zCgkzOztpElymDAAAAwOVEcAEAAAAAAJwKwQUAAAAAAHAqBBcAAAAAAMCpEFwAAAAAAACnQnABAAAAAACcCsEFAAAAAABwKgQXAAAAAADAqRBcAAAAAAAAp0JwAQAAAAAAnArBBQB7TC+vytD0vMysrNm2AQAAAMB+CC4Al5zbPyqPilxy51WdkVHaIvm1HvP1do5D7uY65dmbZukenLAdCwDL2yKt/cPmM+NBQYM8fdMkX7+oMp8dKqusTfpHp23HnYfw1JwUO7vl9rvPtlvZDrkV+1y7l1dv1HeHZG59w3bcWdPXdHqC8rCwMfb52ygPCht2f2b38pxSFPueR2YXbMedh55wRHIq2833oj+zxP/LJ8Uu6RgYM//n1uPO2vj8kpQ195n/N73G9Pu5kVWz+39Z2eqT6fcQFF/c2pKm3iHzPen/p/6MEn9mOZVuGZiYtR13HoKRqBQ4PLvX/83Yz0sfx39m+n0vbG7ZjjtrM6vrUtse2L3+7xfsXP967ev39abRK+NzS7bjzkNncExelreZ7+N5SfOe/0t93hV6P38LjUYXpdTl3fmbLPZ96P/jzZe1u/+XNbGf52zs52o97qzp9dPYMyiPY9f9zv/n3us/r7pDBmOfw9bjzoNvbDr292zn7vV/PbNm9zNWf1e1+UbM+9d6HE7nXIIL89srElxoktByuyxtn/+FfxaWZFMGV7okON8o0a1F2/azMLk5KQNzNTK6PmjbhvOzLNsSXuuT4FydzG5FbdsvCv3D9npmtfmDLHrEH9fTy2tSEvtlrx/Mzb6gBJdifywttsrC9qpt33Q3uTkVex/Vysh6yLYt3Zlrb7U39v3rtfd+flmfhn5W6memfnbqZ6h1e7ob2xiWgWiNRDbGbdvSnf7u1d/B+rtYfydbtx9HdGsh9vlXH/t/9Mrbph4zwdOJgmY9WfdVOknQyYLu96ahRxbPaDKzLFvmexqIfW+9E8MmiKATO//4jG1fpX8UN/cNyb38evOH5vAZTuYnNyPm9/fQasgEW/SPXf3D9qDPXp2M6gRHJ4Mub9i2PVX0Mzy40GI+0119A+Z3Qqmr10xkrPsqzWjT3xn6s82ucJtJonWfVBlZD/7/7d35cxzpeR/wv8eWY1fsOBU7VUnslBJX4rhsR1U+Ko4jlw+tJMsbryw5WslaWdbucrnUHlweSy6X9wkSIAmCXBIkQNz3fQxmMBdmBtcMBjdAEteT/r5gzw7eHgBzTzf4/eFTHHbP0eh+++1+n37f5zXOt3oJLoTV8UGjfSQSk5XNLct7EexA0AMNfGxbIYNZuO7j+o/7gHtNg6qB1zQY2DWwgSDRvcZBdf183OFOuf35sH1fOqDq2KFIWAXS0LBDgEF/Lyyub0jL0JhqaKFBOL24anlPvkyvT6ryH1oNqQY6GsM4XtgG/b2A43ftUZecvFmvzhN9fb4sbq0a+6tN1Y2NA15V/p90enbdF7GVZyrAhe3Cvi1kYDK85jXKWYN44+PqGKFx7B6fsbwPUKZ6vOPqOKLx7I8WLpgV35g1tqtewi98ah+gnKGO2q0uCMUX5U5dv6r/EQApVGAy+RrXGxxTdSfOOwSY9fcC6t7Gfn8iaIRjq7+HslOU4EJgpVvWz/9bWb3xX4yTxWdZ70ST6yFZvPuHsnH2V40Ks8GyPt/QqAh4T8rWqa/IVOt3jZu7Rct7qDhiG9MSr/4L2Tz9r8Q3VWFZb3e4AUIPhac9Xsu6/eCiMDg7IM+v/pasXfxNCT4ftLzHzvzTs+L3n94+j5r/r6OCQ/Mv1mV0zriBrf66bH72y8bfcsfyHjubNBqYntmngjoTdSfqUP09doUnG6PTUxLpeUu2Pv0FGRt637iRKdxNZb6h0e9ZdMlq2X9V12Jck/X3ZMIXfySbZ35F5u//ibjiHsv6vQwEp+STa08L0mCYWp9Q24Rtc09/sWvDJZXY8jP1NBANmnw/yVqRTQl4jhpl5xdlouP/ydhc1PKe3aDOxQ059tluN8m5CBh1OOry59d+S4aMul1fvxc0YBAkQWNMX5erWaNunmp6XdXVPv9nRhlO/8YfDT40etCA3a3Bkwtc93H9x32AO+63rN8Lyv3Rq7UF6QmIB09Ld/5ANs7+mozM1GUUxEOvEPQgKK/tNcpcfoMfy0ajLzR4SNWd4b6fSmQhdbAvFTSa0ZhHw3S3gFcu/Mudsn7u12Xl1n+T4dlhy/q9IACCBiwe1OjrcoWHILHavzHK2S/JaPhqRj0SUObLnvSo41mI4IcvdNHYrq9ItP7b4o2HLev3gh4OKP+FCP6hfYl2Jq5xw/G2jIJ4CCyj9wx6+ejrKHNFCS6MPR82Krzfl9mHf25Ufs65odwLorCxp6+pCimw3GVZXwi+8WtGo+4/GZX0u7KwlTqqSoWHqO1k2/fl2fWvim/2sWW9naEHwkdXarK+SONmvS3ULfMP/lQWK78mobXMAxTFhAYDLhZ4koULR2XjoHgnylRwJNz/tixslqbbZbpc4ZjqZognq/i3MzAiU63/8LLs1VjebycoKwhgofEBFcbNvnuuVdWZqDtRh+qfsZPI7JJcr+5S244u69VdQ6qB+PzKfxB/4Iyte16YwxTwtMvs2j4QHZbZR/9HXYvxdF//TCbQM2C17HdkuuE76om8vj4d6KqKJ/j5fIqFbZlu/DsVRME26uvT4Y7E1M1vtnVkKng4gBvy51f+o4wNH8mq5wiesqGx3NCXWWN2P6E1j6rLUadH1gKW9elArxVsWybBnP2gl1O472eqrvZN3LSsTwd6DOBY7va0N1vqum/UwbgPwP2Avn4/aPSg7GP4ob4uFwiuoUG6cuu/G/elPZb16RgITKmn99GlzMvobla2NsTvP6XqzuDo8ax6MKPHDK7jGMahr8sFenosV/yexB//hUyuZ/fd1e1uNSQgn0FJPPiY6HjTKGf/WXyx+5b16QjGFuRjo/znuxeDL3pXnl37bYl0/zirB50IemGoLXqz6etygfYl2pnqGvc8s0CRqdO4bqIn0m69kCg9RQku4CasOdApE8aJi4usvt6JgrE5afb1Ghdjf1YVZTbUxXbNJw+6OgoS9aP04Cngk6EOdSycMixABUTWInKsrFY9odDXpwM33dsXqrhxLofUUxK7NrBwjNA9EN1ovZM7b/4QUMCxw5MB/XN2YT7dxcVXT6yJLvl2Lnu4cUAXSOTrQDfN5HWoK1Fn4ib4mU2vBUhmioACnvzoDczZzTm17+08JAXdPNE4aOjz7Wjs4dqLazCGA+FmX/9cJpa3XqjjmGuACOXj4v12y/JcYJuwbdhGfV268OQPQdjdukZnA0NJUHayaYwmQ7A0m15nu0EdjrocdTqGlejr04Wu93i6nM8GFupo7LNcgsDYHtRF+bxnQt2L7Ypu5DY8CkMSUM/oy7O3ZdSt4y/vS7N/Yo3u4bjW7zbMKRuoM7HP0CNFX5cJBGXw9Ftfnq1lYz8hqIYhb7m0TxDAQo/QfPb6QLAU+yybYKQJ1wCcl/nMeYChJNiumY2YZV0martH1bAFfXm2dlzjcrg3RS9L1P/oLaqvo/QUJbgAeIKCf+OLixKNx9M2t5y/pwf5hL/HjGzNr65atjtfVjasJ8iSUVnUtvbL+NS05f3ZWnyev4vIQYenmWb31KUXLyz7ErBc/1ypzGzEZbzzR7JQ9UfiX8juRh5dOfH0Vr9xxPmp/+0Zm83tZluHJ3u4mUwnGVrM+G3L9hRou9KBGwGMLUYPC31f63DOWrY5hXze7OwHN1h4UoiEcPo6XXxhwbKtplLVR3iajsbufk8tUC/r25yN5fX83bxEl1bVTSSCCvo63fzKimVbUpmZ378hgPfon8uEyzcmvW6PhGNjMjljvaYtrWUXvF949szyXZmYmI5KQ8eA2q7xmYi6d9F/Ixs4H/XfylTHgEc8Ib/atul4LLEcf7P+e5mYXVqy/NaetDoSDfjLj5vVzX0+h5zhPLH8dgqoz/XPqs8bdemJsjoJLAVV4zuXRqQO+0DfjkwMegIyODoqkWdB1WjTvz9bud6Xjkdn5MTNWhV4Qr4v/fuzlU3dGZvb+eQddfRw1KeG1iE4oP9GtjJtn+j1I4a63KpvV+UfwUT9+7O1231mMn0fJcN9xbEbtTK2GlTBVzuV/z6XT1x+n6rLpuJRtQz1kP47mUr3Gpcs+fPouXjmbr0q//GN/AUmXxVFCS6gYscNM16P+90S8rnF29UoIw1V0n/3vPo3HBiV0bZaGam/J+6mh+LrbjaWP5CpCfsNo8CTLTQwzf+PGts82v5URjvq1N+B7R9tfSKe5mpxGyLhoPrbsM5Vc0f8A53GPhiR7ssfqv0QHO4VX1+beDsbZKDqkvE58++/n/Lmc8XYn903T0nttXPibjf249O7MjEekY7P31afw3dMTESk79ap7f1cf1/9tqfpkYzU3VPbht8beVopvWUn1faF+rePD7qoolsQkiKZ2VTRJRuZX9ElzezeXKpsuaWGp8hmoAxwAe++/okM19yWnqsfJ44bluufLRVE5DHGHWNX3RN3VDdpJOLSn+jvBrNJoMufvhwCPU3b565R9t3G3z0eHlPntOtJhYy21Hz5f6Pc4X3YP6Md2+dKX8UZdY6Hg/l7CoenQOl2tcNNvnk+4vx01d5Rxw7bub3NlZbPFBJ6lOBpUTCW3k05yphZ3vrKP0vUqaOd9cZ5XpWodxYW0zvOuTIz3+8XFDH1XP1I1T/Y7kgooOonb3ud2u6xl/VRseDmC+dFpzu9brFo8HZf/kDVpzgGQ9Vlxr6ukcGHN9T29985a5wDt8Vdd1/VzYP3L0vI67Jc4+YXd78hzAQyYqOOnllJLygzdO+CKic4D4MjA4ny/uV21qht9LbXWj6r67t5UgbuXfqy/BmfNa/fOJeGHpWJ1/gd7CNcc7BOlU3jOuQ2jnlwuEdcTWUSabsmLSe/p+qH5Lpkbnb/QFUqCHzinB6ovKCuhS7jOonfx7UX9bWqt4x9MPSwTB2jfuO6iWXmNVHtg+EWGb51SALdd6TnzgnLb2QDjavem5+Kr6dFXfN7b52W4Sflan9MRqOJMoTtwHb13Dihzg+c463H3lTvi0yPG2XrkoxUHJb+p1dlzDOs9uvMTG7X5d4bx9RxxHZ0Xfq5uofB/hp6dOPl8dq+t8F6/J678YHlO7yT5Wrc8/bwj/xcBxFsRFl1GccPx6jt0x8n7rf0+m5xKfU5FX4RUF2m5x7+WdbDP1LxGPsEdZdZF+N18rXPPLbYjzi3UAbxf1x3UA5DAbcM1V2W2PX/Zey77IZ/pDJceU6VMfPeEuUM19rk7XQ9Lk/831VT8WUdZZzHoVGXeBeaZLn8d2Wi4wfqIYX+G9nAPW3XlY9UOTPPuYGqizu2Mfk8Nbcl+TvwRH+q+Q1Zuv17eR2W7O9u3K4PjfrbvHfvNeq3cNCn6gOUua4LRxL1W2RsZyAXPX98kcuyev2rEhg9kVPvqWS41uNeZeD+1cT9FuqzMc+QuKpvqevmeGTv3hxjz0fUA6aZJ3+lnu7r67Ol12W4jqDMYR/13Diu9mfQPajKWOL6kFQmUf57bh6WUOMFGWwsU++ZMP5G/XcyNXj37I7tQrky95vZHjPrWvOatbi6M6jhjVfLStnvSKT3n23dW9GOihJcQGPcHFvWe+MT1fDFzQguXqhEGo+8rk4cHPSW4z9UrzvPH5ae68fE1/bE8n2lhsY1sp+a/x8xbppwEUaFiW0fMk72jnOH1InVePg7qnDjb+spP61OxIF7F7f//otHjM98KN1GoxQ3qahomz76nvH5m4m/f7fgAr574ME1qf7oLal7/3UZMyrfrktH1OfqD31LnTgdZ99Rv9NpLB9p/EI6LxyWvttn1bbh94aNBmDLrbfFGzgn7shdqajrURlw8eRX74qdDF2FMcYM70VjLt0b2oMAiauSAyuo9Ptuf65uoDvOv5c4bnYKLiCyj+zR/qnbiS656PaFrus4hq49njJj3CXGn+nLTaNND1TZQtnHuYtyiHO64b1vSbdRRs3/d5w/tF0GsX+M5QgsNLzzTbWv3MZy/XuzgURs6TYOAcEF83zE+dnw/nfUMcQ5jG3G+aR/plDQ/RTd8JATQ1+3G5Qxs7xh36o6xWiwox6pf+e1RL0TGSh8Qx2Z0itq+yzL99Jt1H/tn/2L2m40WlA/tZ18S223v7Xa8v5CQTnAeZDJVHEILrSf/qlxU3xZHYPuq0e3y71R927fzJxS17XWT99S5wAahVivX+Mm3L2W784UuqNj+9MN6sBAxenthrex77FdZnk3txNwHes0zgf9s7r+is9UmTPLX+I8f1kusQ/aT/2z2ke45mCdui4Zxxv1QvfVD43j/oYE7hjH//Q/qmticl0y1llr+c10ILiAa2v/3XPqWth59l31+/jtjnPvqm3bPle+oX7LrKPMcwe/3XbxX6T7o7+W4ZvvSvu1w5bfyAaCC4PGtRtBD7XfjDLUceZn6rqMRrtZhvCvWXZwfmDbOoy/Ae8LT4ek4+jfSu/xb0rj8TcS+zU82GH5vUx0GvsFDV80/HBNM49Vx2fb22fe22A7sa7XOMbJn8cT0eDoMZW4b6rx9bz1XkBwAdcYHEdVvtS90/b9ll7fjQ+2Wj4PYy9GZO3Cbxj+nQSfD1nWZwsNdH9va6LMo1zvuPa9PLbmuaaOFe7Fyj9T5dDVcE96rv1Mwu//ptEI+zinoSnJPDUVqoyZ95YoZ3idvJ0IfqjjaFwH24xz1KyjWk/9xNi3t8UfrVSJ++bv//HLoWzW38kU7mlR76OcfXlf8N6ObUw+T81tSf4ONI4X7/6BSmzsi+fvWjH04KraB6i/m4z7apSppg/e2D7/jOXmfbu5DxFYSv487rVCg++p8o/ErbkM50mGaz2OUeuJHybut9R159pRdU7guunr3DuxPGaDWT/7ayqHSWgt98a7Sa/LcB0xy1nbyX9S5Ql1+oBRD5ttvuQyOfS0QpoP/6V4rr0l/Q9Pq+Ptqb9n+Z1MjTwp37Fd+E2134w6VAWajf1o1rXYJmzvtHdnDhRf5Ip6KIfErdnmFnpVFS24YGbgxEUC3VV2MG4CLMteyrZLZCHh6X3y/1FZpvo7Jv0jlr8nU7t1aTbX4waqtm1IHjT2ydTsvOXzO6TYz77xG6oiXLj7NRlbznxqPgRZ8MQP46Yyubl1KvytyccEN4r6PoVUw1nsIFFWX5pdWpaa9iGpNaAsJa/DuYophvZK7ITzM2XZ0v+/h1y78gKCPtlkLMdFe9ftLlKACOcN8itkmgtjt7IXHmyX6GRYvZ5byew7s4FcHOixoC/fj+VakLTvi3n+YAoq5LjQl+8FdYC+3y3w9+xzHiBQrH93JhDYRW+XTBPpJc7bfaRzbuI9+ucyFVkck8BUs4wvhnfsM9RJq1nuox3nxy7HQZ0rEyHLclNsecZoYLVLcNaoH5/l51xSZWeX7dlhj/fMrSzL2JxLAsa2+frrEud7rucNul/rv7WXVOUDOWHQ4MM0jfq6bKEMzC0t7fz9l/snub7bq85e2nom/sUWQ3NOY9h1lvK/x3Hbjavvvrj9FTnnMEm277HcYzuxT2PT4yrHjHeuRk3vl6+gR1p1p7Yt0anIju9AzhjMeOOdq83rE2XLNWll7/v4VOUfw258Mw9lfC1/iVct1/qXxy7i7ku8TrUtyRa2VtTMdoGltrz1qAB9n2RuWULzoxKYbpWppUl1vOPR3ANZKcv/HmU+1b0SeusgeWvo2VBeh5K8CooSXEDjJL9Ja0oHDQFkndeXlxp6EyBbMxLYpZO4CE+uMYd232SDzD763xIaei+nShoZhnGTqydAO0gwZATBBX25k+BmHb0GEMlFd7DOc4e2uwC6XNJYdUf8/e2qayQi9b11D9MeYlBKKHPmsCsnQg+SQkxLVgyoD5FjIZMpn+wE86znM6FUsaHOz2fSwVJDI3J6atwQSdlrr5RwA4ox2fmQaxAgGfaT/v0Ys5xtUCZf0IjEdujblq7dHqzkAxqR+u8lK9VDLZQLfVvStV/jMle4d9B/Mxu5BlR1OFb6b+QqH2Uv1/KfSr7qRJQV/bszka/t0O1X/vcKHhYajmWqAASlVpTgAqZQyndG6FJBkjjMn6wvtwt0r65qGlKNYORIwJzFmCMYsBxJ+ZDRFlOT4W9BNA7dffKRfAYZtjHnr1MbSvtRQbLHuc0PX2q4QcCwhIZ3v6m6g6F7IroAeloeS+v5I/Lw0BuJLtGV778pSxnMk10qKOvIbq0vdwI0DJHTRF/uFGiYI7CoL3cC3Pw5OTCCejbfU9mVGm5ahx7ekKEvrktoIPPeMIXkrqtU3WwxBBLjcz3NjxJjeZPzhWD8OMb0Dn1xLTGeHWOOkWvKHPMbGc5t+EIy3PCauRDw/Z6W7bHihWoApEvlhkrKSzJSX5UYxz744KolH4+eC2Mulr+n+Lq+myckMNSdOD7m/sNYcBy7WB6enGYDT1uRw2nA2D9mbpLkY4su8BhWPPS4XA1rSs7rFejeu1t8rtzGfYGZL2z40cs8JcgtgzxeKNdPytV5G/Z71JAPdNVPdVzj0ztnEMpVoKNWDdMx85jh/gXb01N2PJHnAvc6yEWGcof9Z+YiwzmK8fZ6vpj5pdyH8yC4l5zzBX8/6gnk4THrCvwe6gZ3wxeqHGJ/Jud38A9sP+wx8wbEZ/JzrR2sPK+OhSr/L3O2JddhGEqGXHDmcU1eX8icYgj6YfjHYNWVpPqhUh0fDEMJe0v3sGsqFtszaSbtVJTgAjj9ia8J3WfrevfPxm0XyCCOYSmmvSKyyJaKSno/+ueS4fvRsyOdbPFOg0z4CNLoy50ElTcqyJRmZ2XEH5a2Po+MR2NS3Wz/hktkbklNTaUvdwrkiXBqbx+c6xg2oy93ijZXSCWh1Jc7BYbnYdpPfbmToUGMHCi4yQ501VnWl1Kv0ejDTTcaTxifq8bRm+PYk/KFdF76uQogJOfgwZhjNGrMsdKh3p1DK3OB4IKZCwHfX//2NyQw2GWL4EJyXpLmD7+rgtnYR60n/8mSj0fPhTHWWWP5znwZNRpIZt4IHB9z/+FY4tgFOp9aPlMMCC6oHE4Pb6htw74ytw09Dp/+5OvbCRBf5ixLzuvlbcpP7qLd9JefVucmftvMB4IHE93XPlHlruHd11Ty0UR+kIvvpzyuwfbHlu/OxWDFaRVEMPMhIF8D9hXG1pt5Lsx8Zs1H/zGx/5CLDOdoIpdCUr6YSU/uDxARXEjO+aLy7Bj1BHLQmHUFfht1Q8fn76hyaD7o2V7+kbQe/1Fi+3EeBTryc070l59SgQ/zvMSxTK7DGj/4e7Xt5nFNXl/InGK4P0UOhybj9836ATkccHxajGPnbqiyfKZYfN1NEuhPndicrBhcyFCXJ6LmJtaXHwS+zvpEpBkR4LZTP1GZXvuMisjMjov1+ud0aHRgSrRUjSYEO3BTj6SY6D0BGDLTPBhMa+rAUsJ2d2SQMNCpMFNIeW1fxuPQS+FWTe+O5KpO4+TGeY93XOp68jfTR7HhmuSEnjmpYKrM8/cO3o0OusViejcEO0vVNX036BZrCcgmBWYty1Ix3oe/L5/DIrCf9O3Ab5R6WASYxzJTgd5mmZ/L3/SHOgRk9N9MVqqppFEu9G3ZS8g9kHiNYTv69+UTuqUnflsv7/i/viwFHNdsZ3/ZDY6V/ju5yNe5g/vgRPk3902a+2nHZ5Lkq05ED1bL76T4vR3bm7Q+X9uhQ0A05Xa8hO3WP1MsmDq7lL/vNEULLqB7Pp4y6sudBpn1a7v3b2A7EaZSVNPdvIwAm9mDzactZvZv/XOpYIjEF31t4l/tlam17d4eyGh+/VGXCs4kBx7wGtNfYrgJ3oMn0XYsK92j4wc2sJRsYW1dvnvkpiO6i2OIj77MKXxTc3KvKX9Zy4sNjVsMedOXO4WTA971Rn3a6ytN120iIiKi3RQtuIC52zOdqsyOgrEFRycA28vy2pqKSO4l3a6WyEYbGjosW5/+okoW2eNLv1GOHgzo0XChqk3lkNDXl4orHMtqRgIn+uHRO6qs68vt5sxt5zYQ0VsHASt9uVM4ed+jB5WTkwwj98tes7gQERERlULRgguAp9LIuK8vdxI8zUWGbn057bSytS5Bzyeyfu7X1dzNK1uZd6NCkAHdxu3SWyAya+9knvl0sqxeTdGnL7eTubVludNk723cS3VPr0TmnZkgCOd3eVOLY6dnGp6ISPOIM/OnYEq4W8a+x3Rs+joiIiKiUipqcAHjcw/CmHUnd6ctpvjGrIy9cKt/9XWZuNswoKbr05eXwqty7BFAQ8I4fbldzG3OS9D1gUy2fFcieZxPulhCzwZluuFvJeD7VBY2CztWNt+Wt9bEG7ki0bpvin/BeecD5pIf7/onCff9VGIbzpvZxjdXa+z7b4h38qZxLNLrSUZERERUDEUNLphTfzk9wzXyRzihy7hdIDmOnpglUz3uoC26Mb9KwYWLVW0y/8KejZfxtYCsXv+qbH36C+KbeWhZb3eB0GW17Yt3/6dMrTtr7DyChTNP/lJt/9jwEcf1Xgis9svm6V+SjbO/KsEXpZvaKhvorRDu/5na99MN35a5TV6HiIiIyD6KGlwAjFvPNffC4vqGtI+E5eL9dvn0VoNqBKH7PMbp4//n77XKKSw31ne6wypBnf4duYgtP1P5APTllBryNCBRJOZIxly5oy01ifnBk2ehwPRjmLMZ84ebc9y6jdeYdzfY2yRftLpKPg3og5ZhldRTX37QYBYGJN+0axBtYWtFfBPXJOD5RKbX7T+rhW5yPSRB18/FO3Vb5SfR19vZimyIb/axjA0dktCzEct6u0NwxOc/Lb6xs6oHjL7e7sZW+yQ0+K745uvUEAl9PREREVGpFD24ABjLPTSWeXdUJLC6Xt2lAgetw2NqRgL9PcmwvnkoqLp3Yz55fH5p67nMbMRy7k565k6zxFaYUCsdCC703vxUzZGMuXK7bxz/cn7wpFkoMMdv0/uvqzmdzTluMZ8y5t31tTxS31Xv6ZZA+KoEVnpK8sQUT/KdnMguXd6pWTl2/akMBOzbcO/zT0rjoE9N37Xw7FlaMPe6/j2l8nnldu4WTKWlb6cOvb70z5cSArwXv2hT26Vva2Jf53G6vXyrah6SQGx7Si19u3dTqOm3smGWHcwLrm+nzk7bTURERAdbSYILuCFFcsdMnoriiTG6aoeznNMeyfguP2wV79g5iT/6c/HNPLC8JxNTiyu2HpNuJzjemB8W8zDPm/9maPHlvNMB70nVJXim5q9kZiNu+a1iQI+YyQVnjZPP1PzmkrjGb8vo9D3b5gSobneLe3xGpkI+CfncL3vB3Fc9YMJBn4x21Il/oF3c9fdV75fRtlqZmbFPsMQMUvVVfCZDj8uN7atR29x14Yjx94zIcM1t1aNntLNeYlMRy+dLCdNo3m8eVoERBA57y06qbVfba+znkfp7Euiqs3zOLs5VtsrSxqaMNt6XgcoL4mmuVuUnudeU60mFeNvrVNnpKz9tLA9YvqdUUHYQvHHV3lHb33fr1Mt9XyOD9y9LyOvaPg4NVRLxvxoz3BAREVHplSS4AHjydfRarXpCqq9LFn/2Qk6U1UubK2RZlymMT52u/7ZqnKJbKbr36u/JRG33qKIvp8LxxR/JQuXXJDjyoSxurVrWF8PMynM5ccO+Dad88D/vl43P//X2bB8v7Nn1HcOf0JOk/+ZxmZiIJHrBoAeMp+WxdF35SFqP/0ga3t3u/eJ6eleC3fWW7ymF5c3NRHCh58Zx1RhET52Be5ek6+IR9W/HuXdVj57+qkvib6u2fEcpITkveo4guDD44Jq0HPuB2t8Y/oT93HL8h+Jrtm8uDDMw3Fd2XPrvnpOw0QBH+dnRa+q9b0nbybdU2em4+L6MttjjGCDAjqGFCC50X/1YbX/H2XfUvsd2tx57U/2L49B66ifG67uW7yAiIiIqhJIFFwBPjvAEabcGOnIlIAFkPp4S42b+bGWLjMSbJeg5JuHnqX8zUzef9EhD33a2+lJ003/VYAo8JMDDk3V9XTFhuA2enOvLD4qJtTGJ1n9Lphv/TibX7fXUHNAbBsOj8Bo9WyajUavpacsydCPXv6sUMKwLZQivo/G4ZTuTeTvrZdZGPS4AjXNMy4su94n9rO1vHBf9c3YQXVpNTLMaX1iw7O8E7e+ZmbdHfgYkFA7NLKhzYCoWS7mtJvQmGR8rbZ4aIiIienWUNLhgQnABwyTckZj6P3oYRNen5MTNpxLKchhEMvSSwPhxdKE2l2HstT42NRXkC9C/T3e3oVc80QcSHD4ikRe8kSuWxI11CsUYZ4w8Hmgk6ssPitjGTMmGnuwHCV3rS5zcMxdIQIvgqr7cCaYXV9XQIH25U9x+2rdvjzm7QkDhoPeaIiIiIueyRXABEAC42zAg5U0tEup/W+bv/7F45rZzLMBUDr0XMH2gnt8B3Xm7Lv08MVYYY1PHPMPqNcaxYsw2uiNPTYYt36eLbURl9uGfqeEWQd8Jy3oqDIwvVuOkW2vUWHu8NsfWx+OZJwzNBhKMtnpGZezFiEytj6unuegujiejlx90qEYkXqMMQgUaNpPOatjs+XT3pWIm78M+Ro8muyU5TBeSZN5rHLQsdwoks0WAQV/uBEjC6+TpZB+0uqTHO25ZTkRERGQHtgkumKbXJ2Sh6o9UQ300ck2qO9xq6AGmmURXXEAiMYy11j+bSlXTkHrKqS9HcAFjbNs/+xc1VhhjhIefVKjXDe++JuExv3ScPyS+9hrLZ3WYgcIf/Fyidd+Q3ok6ia/ao+v1QYfx6DiGzR98V421x2tzbP1Yz3aX+WLwTJbL+tlfk6nWf5DbLdvDfHabSSQyt6Qy1SPogMCEE8qKp/6emkLUDN54uxolONyrgm8qiRwS+Q20WD5XKHfq+1UAR1/uBAiifny1Vg3T0tc5QX9gUu1/fblTILAwMb9sWe4ECOiYQ4GIiIiI7Mh2wQUkWRyJ14svcl31CNDXw0gkpm4SLz1o37URB1i327SBGO6Asc7KzIz4uxpk3Ggo4XViuQGzHOifTQVz1c9uzsv00oqcKKuTqPEvnuZmwqlPYksFxxDDH1Ip5r70TdySzTO/ItMN35F4BsMIMG4aT4GvP+pSjU59vV2MVJdJx5mfJYI3XVc+VInkEHxDgKev4oyMdewfhMuHTndYbtX0WpY7xenyRvFH5yzLnQA9yJBct5jnVj6ht0jTQMCy3AmQfwhBKScEI4mIiOjVZbvgAiAggPHIaHDrUxImG4/NyvnK5l1vGBF8KPZTKiSMc7fWSPXJQxIKeNUT39GWGum9dVrCQa+4mx7KaOsTGXx442UX/u2u/SMND9IagkH2M7+5KD3RDpUEUV+XDkzrh4YD/tXX2QHOQ/T00QM4yfTPFEKvb0I+v1u8HhL5hAb5hao26R51Zpd2BBZQRtPtMWY3jzvcatidvtwJsM+RM2hsJv2pm4mIiIhKwXbBBTzBPXO7Wb2eX12V7ssfSPe1j1VXbFfNbdUwN+exR6N8Jh6VJ50eNetE8hO15Y3NkoytRRJINbTiyBvSXFUhnRcOS/eN4zJQdVlG6u7JUPUtNd1Zw6Ht6fEwZZg5hZ6v7Ynl+8j+Zp+vyUWj4YjXyCgfm5vbU6okoSj3mFqxaTBgWUciD9tG1DCS1S3rOrubffZCjt+ok6Gx4uQByTcMQUHCXScGFpCfA0PqcI3Q1zkBhlF9dKVGIrOlnR2HiIiIKB22Cy5gWkczRwKCC+2nfyptp/755bzvhxRzHns0ysNDneq9w6GoGo9qjmVGFv9SZPJHcMGcFqxv2Cu+QMiS/G438cXcZ8ag4mtzhRS89rzsmaLyEARGVQAJvVbczY++TDa5x7SCGCJhfheJ+Kfn5Nj1ul17J9kdnpijYV7sHlT5gGFlZ++2qNkVnDgUAj1djl6rdWRQBz33MPwH0yfPPS9OzyAiIiKiXNkquIDeBrgZNJ9OYoiB/tRXlzxvvWcinuitgCEReKKs/0YxmDkUltbW5eztJktuhV05NMnbqw55E8wGwPDLninoveKquaOSHqLXitlTJZ1kkyi7A8HdAxAHCXJU+KL3JLDSLauyXf7RsEIPDgQLy570yPyafZ+Yjz1zi3/qtkyvf5lgEjPblNf2qvwEHW77DnVa2FoV31yt+BfqZXHry9w1SNqIMo3eYLnM0lNomJ3FP1UhoRfuxDL0rqhud6t9/6Bl2LZBEeQWCix3iy9WZZwDXw6HCkTn1ewynxplP3nqZCIiIiInsFVwAU/IXKHUSRzThd4KmE2iFEMiUrlV02OZBpMODjyRvmw0Bsz/zy4tqR4omL5R/ZsCAkn69yRDgwhBNjs3qvPFP1kuW6e+IvP3/0RqXV0q3wqe1ra7QqpLu/5+O5ndnJPp+m+rmW0Cnk/k3L0WlbCx7HG3I8bHB54PyPq5X5e1C78h3dPdKpiDnBYYQmD3srcimzI2/HO17yeb/15uNbSqbUdei8Gg/XsqTK5HZLHya6rsuyfuqKGAmAmpsnHQsdN8EhEREdkmuIAZIC7eb7cszwYaex9eLk72+v3Elp/taHzSwYKGcHQp/40BBKTQUDKf5h9U/oVmWbrz+xLp/rFqrOvr7QxP+4OuD2S54n+Ib+qOZb3dRdYCMlv9dZmp+eusk5GWzpb4Jm/KcvnvStDziZoO2Poe+5rZiMtE55uydPcPJbCUn+seERERUanZIriAZFUYV52vJ5VIjvfG+2WW5aVil14UlF/IDYLp7fTl+bBqNJ6GY3USGnxXAis9lvUHxfLWukyshyW+MWtZ5wSYKWRiPeS4xi2gjGE4x/Q6huDkp+4tJgR3sO/nN52Z7FAFGIyyv7K1d08mIiIiIqcoeXAhNLNQkCnO3jpeaZtEXni6jYCHvpycC8MhkKhPX54v85vLqrs3un2Pd/3YaIS/sLznoInG45Ykp7sp1vSX6cJUndguJHTV1zkBhuvo+zjZVCy273CeUsEwImyfvs06DFnSP2sHSFysb6tl3zMfDxERETlASYMLne6wGmdaiPG9aNCfvLl34rxiwTR6SDapLydnwvRwCIjFnxWuwY8x5d6pConV/o144w/FiU+WM+V6XC7DTyrUFLMjDffF0/RIJsYj0lt2Us200Vd+KrEOjXn986WExLIjjV/IWE+jZZ0TDN4+I76eFjU17pBxHFzGccB0v57manEbsP/HXdsz89jNqtHwxr5HeUFjvLfshLR88gMJ+z3Sf/e8uOoqVbmJRr9Mumkn8ysr0n3tqLHfb0kkFJCBqotqe4eqy9TxwOvFFc4kRERERPZXkuDCzMpzuVjVJnfq+y3r8qW+1yfvX6i2RY+Bxn6/miteX07O452a3U62mOeeNqkgozzyECDvgmVmkQM4y8jgvYtqZg1MMdtz/Zh0XjgsY6MuqX/nNTXTBmbgMNfZMbgwVH1Lxj2Fq9MKaaT6pgxUXlDBHUz72/zx98Xd9FB6bhyXxsPfUfs/1GfP4V0ILmDf+3tbxdvVqKYqbvrwu2r70TjvPP+eKjdjfa2Wz9oBgguYWQb7HdvcdemI2t7uq0fV8cDr6VFnlisiIiJ6teQcXEB37ejGtPHv/t2UEVTAjBDIQTA+V9guqggqvHPmgbS5QpZ1xdbliahZLPTl5BzIB3Knrl8lHS12wApDAPBUdrTlsYQDoxLyjUjPtY8TT5T9XYUbnlFMCBhgWEHC6urO/yexW0AFDVxsF/7V1znBslHGkvfvVNCz418ET+w6rSNg+/QyolteL3xAMBsIEOrbmix5umUiIiIiO8spuIAnqt6J6zL34E/FO1mWMrO9f3pOartH1TRnaJgVc3jA48Ee6Yu2ydT6hGVdMWH4B4ML9oSEgvqyZGhQNQ0E5OjVWhkIIvGd9T2FhkYRnuK3n3k78YSz5ePvS9P7r6snyp6G+5bPEBERERERFVNOwQWVrbvzTZV0bqLjTblV3yFXH3YqZ++2KJi3eyAwZTTSrJ8vJHQpD44eU/OIR3rekoWtFct7iuVRO3Mu2A0CYb7ZGgn1vy1jq3071i1tbKphLNeru+REWX3JA0PouTA5Pb0tRcK32JyzpnAkIiIiIqKDJ6fgAoSeDUnAe9L412VZV0poPPoDZ2T97L+R0OAhFQjR31Ms1x91qSEh+nIqndnNeYnWvaYCY6GBt+Xzu40qCSh62Hx+t0Xqerwyvbhq+VypWPIsHMCcC0RERERE5Fw5BxdM6D6OxFTJSp10bc5oQI69GJHYxoxlXTFhRgx9GZUWhkP4Jm/KdP23xb9wMHIWEBERERERlUreggsYF95/56x4WmtUhm5MHzc1NW55Xykg8DEzP6+6j+swv7v+/nxC8j8MD9GXU+lh6Mzc5oKsbO0zG0Oa7JzwjoiIiIiIqJDyGlzAFGDdVz5S02dh+rhArz0a1Wj4YR5xV+0dlQBvoOqSTExE1Pzhrse3LO/PJ8xW0TwUtCwn+0APm9HOehmpq1KzLyS/RsAMszKMNDxQMzWgzJiv2079RP072lajgmmz88x9QEREREREr6a8BRfQgI/G4zsUuldAurBtyLI/UndP+qsuSdNH31ONQswf3nvtqOX9+XTiRp0sb3BMvJ0huIBygYAYgk/JrxEww6wMPdePyUjjF6rMmK8bP3hju1wZrxve/45MRRhEIiIiIiKiV1Peggt2liofhAnziOvvz5fB4LQ8aBm2LCd7WUTPhY46CfncavaF5Nd7Sp69wXg9t7xs+W4iIiIiIqJXwSsRXCg2jOP3L3dKc6BTTWuoryf70fMnZEP/TiIiIiIiolcFgwsF4Ju4KZuf/bLE6l6TmRLPVEFERERERERUaAwuFIAvWikvLv17mWz7voyvTFvWExERERERER0kDC4UwMLWqoReeCT8bFw+vlorkwsrlvcQERERERERHRQMLhTYZGxG6toHZHwqumMmjdmlJct7iYiIiIiIiJyIwYUCwzSFI6010tLSLqOd9TJSVyWRcFD8XfWW9xIRERERERE5EYMLBdZz/Zi0f/62dNy7Li03PpP6d14Tb2eDjDY+sLyXiIiIiIiIyIkYXCiw+dVVmV9elvmVFSm/ck2ik2H1eunFC8t7iYiIiIiIiJyIwYUietrjlS5PxLKciIiIiIiIyMkYXCii5Y1NOXO7ybKciIiIiIiIyMkYXCiyzyoYXCAiIiIiIqKDhcGFIrte3SXRpVXLciIiIiIiIiKnYnChyJ50emQkErMsJyIiIiIiInIqBheKrHkwKD3ecctyIiIiIiIiIqdicKHIOt1haXOFLMuJiIiIiIiInIrBhSLjsAgiIiIiIiI6aBhcKLKyJz1M6EhEREREREQHCoMLRYapKFe3rMuJiIiIiIiInIrBhSJa2dySM7ebLMuJiIiIiIiInIzBhSLCLBF1PV7LciIiIiIiIiInY3ChiE7erJfF9Q3LciIiIiIiIiInY3ChSFzhmFQ2DlqWExERERERETkdgwsFFtuIid9/WtyRMpldX7KsJyIiIiIiInI6BhcKzDdXK1unviLPrv22RNb8lvVERERERERETsfgQoGFX3hlqvF1CfW/LTMbcct6IiIiIiIiIqdjcKEI4huzsrC5IqtbW7KysbEvvE//DiIiIiIiIiK7YnChiKKzszIZje4L79M/S0RERERERGRXDC4Ukafhvox21Il/oF1CXpd4mh7JaEuN9N46LeGgV3zdzTLS8EAmwgHLZ4mIiIiIiIjsisGFIhp5ele6rnwkrcd/ZLyulM4Lh6X7xnEZqLosI3X3pPP8Yem5fkxGmx9ZPktERERERERkVwwuFBHyKSy9eCFLa2vbkl8nwfv0zxIRERERERHZFYMLRERERERERJQTBheIiIiIiIiIKCcMLhARERERERFRThhcICIiIiIiIqKcMLhARERERERERDlhcIGIiIiIiIiIcsLgAhERERERERHlhMEFIiIiIiIiIsoJgwtERERERERElBMGF4iIiIiIiIgoJwwuEBEREREREVFOGFwgIiIiIiIiopwwuEBEREREREREOWFwgYiIiIiIiIhywuACEREREREREeWEwQUiIiIiIiIiygmDC0RERERERESUEwYXiIiIiIiIiCgnDC4QERERERERUU4YXCAiIiIiIiKinDC4QEREREREREQ5YXCBiIiIiIiIiHLC4AIRERERERER5YTBBSIiIiIiIiLKyf8HvdS365Byg7wAAAAASUVORK5CYII=",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"execution_count": 79,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.notebook_export_show_image()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "a45fce84-bbb9-476a-8be3-5eb7b082afed",
|
||
"metadata": {},
|
||
"source": [
|
||
"- graph properties in Cytoscape or pre-calculated?\n",
|
||
"- node sizes depending on graph properties\n",
|
||
"- edge width depending on graph properties"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "3796359f-3112-4bbf-ae76-e52b3602c9f0",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "c8cba3d9-0145-4b37-9ebf-07f0e3c61815",
|
||
"metadata": {},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"# Py4Cytoscape"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "fcd9247f-c4f9-4f73-9fd3-2ab56700073f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"You are connected to Cytoscape!\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'apiVersion': 'v1',\n",
|
||
" 'cytoscapeVersion': '3.10.2',\n",
|
||
" 'automationAPIVersion': '1.9.0',\n",
|
||
" 'py4cytoscapeVersion': '1.9.0'}"
|
||
]
|
||
},
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import py4cytoscape as p4c\n",
|
||
"#dir(p4c)\n",
|
||
"p4c.cytoscape_ping()\n",
|
||
"p4c.cytoscape_version_info()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "b9290659-e33c-47fc-8d89-7aa3dd6e843a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"nodes = pd.DataFrame(data={'id': [\"node 0\",\"node 1\",\"node 2\",\"node 3\"], 'group': [\"A\",\"A\",\"B\",\"B\"], 'score': [20,10,15,5]})\n",
|
||
"edges = pd.DataFrame(data={'source': [\"node 0\",\"node 0\",\"node 0\",\"node 2\"], 'target': [\"node 1\",\"node 2\",\"node 3\",\"node 3\"], 'interaction': [\"inhibits\",\"interacts\",\"activates\",\"interacts\"], 'weight': [5.1,3.0,5.2,9.9]})"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "979d6def-83ac-47f6-ac6f-0d20ddf48d48",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>group</th>\n",
|
||
" <th>score</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>node 0</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>20</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>node 1</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>node 2</td>\n",
|
||
" <td>B</td>\n",
|
||
" <td>15</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>node 3</td>\n",
|
||
" <td>B</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" id group score\n",
|
||
"0 node 0 A 20\n",
|
||
"1 node 1 A 10\n",
|
||
"2 node 2 B 15\n",
|
||
"3 node 3 B 5"
|
||
]
|
||
},
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"nodes"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "81702429-5735-48de-96a4-1f32c7c7d68c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>source</th>\n",
|
||
" <th>target</th>\n",
|
||
" <th>interaction</th>\n",
|
||
" <th>weight</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>node 0</td>\n",
|
||
" <td>node 1</td>\n",
|
||
" <td>inhibits</td>\n",
|
||
" <td>5.1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>node 0</td>\n",
|
||
" <td>node 2</td>\n",
|
||
" <td>interacts</td>\n",
|
||
" <td>3.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>node 0</td>\n",
|
||
" <td>node 3</td>\n",
|
||
" <td>activates</td>\n",
|
||
" <td>5.2</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>node 2</td>\n",
|
||
" <td>node 3</td>\n",
|
||
" <td>interacts</td>\n",
|
||
" <td>9.9</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" source target interaction weight\n",
|
||
"0 node 0 node 1 inhibits 5.1\n",
|
||
"1 node 0 node 2 interacts 3.0\n",
|
||
"2 node 0 node 3 activates 5.2\n",
|
||
"3 node 2 node 3 interacts 9.9"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"edges"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "6b29d561-fffd-4a5b-91c1-8fb6a075ae4f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Applying default style...\n",
|
||
"Applying preferred layout\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"128"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.create_network_from_data_frames(nodes, edges, title=\"my first network\", collection=\"DataFrame Example\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "1e87b4d9-6ef0-4108-81ff-e0124e45b793",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"p4c.hide_all_panels()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "23706ea9-b661-428e-a4de-ac4543aafc76",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"''"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.set_network_zoom_bypass(1.5, bypass=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "9c7e7fa0-8b17-43f6-9076-3e117748b06b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"In cyrest_delete(): Bypass Visual Property does not exist: NETWORK_SCALE_FACTOR\n"
|
||
]
|
||
},
|
||
{
|
||
"ename": "CyError",
|
||
"evalue": "In cyrest_delete(): Bypass Visual Property does not exist: NETWORK_SCALE_FACTOR",
|
||
"output_type": "error",
|
||
"traceback": [
|
||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
||
"\u001b[1;31mHTTPError\u001b[0m Traceback (most recent call last)",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\commands.py:109\u001b[0m, in \u001b[0;36mcyrest_delete\u001b[1;34m(operation, parameters, base_url, require_json)\u001b[0m\n\u001b[0;32m 108\u001b[0m r \u001b[38;5;241m=\u001b[39m _do_request(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mDELETE\u001b[39m\u001b[38;5;124m'\u001b[39m, url, params\u001b[38;5;241m=\u001b[39mparameters, base_url\u001b[38;5;241m=\u001b[39mbase_url)\n\u001b[1;32m--> 109\u001b[0m \u001b[43mr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mraise_for_status\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 110\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\requests\\models.py:1021\u001b[0m, in \u001b[0;36mResponse.raise_for_status\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 1020\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m http_error_msg:\n\u001b[1;32m-> 1021\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m HTTPError(http_error_msg, response\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m)\n",
|
||
"\u001b[1;31mHTTPError\u001b[0m: 404 Client Error: Not Found for url: http://127.0.0.1:1234/v1/networks/128/views/220/network/NETWORK_SCALE_FACTOR/bypass",
|
||
"\nDuring handling of the above exception, another exception occurred:\n",
|
||
"\u001b[1;31mCyError\u001b[0m Traceback (most recent call last)",
|
||
"Cell \u001b[1;32mIn[11], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mp4c\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mclear_network_zoom_bypass\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\py4cytoscape_logger.py:133\u001b[0m, in \u001b[0;36mcy_log.<locals>.wrapper_log\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 131\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m log_return(func, value)\n\u001b[0;32m 132\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m--> 133\u001b[0m \u001b[43mlog_exception\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43me\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 134\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[0;32m 135\u001b[0m log_finally()\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\py4cytoscape_logger.py:130\u001b[0m, in \u001b[0;36mcy_log.<locals>.wrapper_log\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 128\u001b[0m log_incoming(func, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 129\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 130\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# Call function being logged\u001b[39;00m\n\u001b[0;32m 131\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m log_return(func, value)\n\u001b[0;32m 132\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\style_bypasses.py:2726\u001b[0m, in \u001b[0;36mclear_network_zoom_bypass\u001b[1;34m(network, base_url)\u001b[0m\n\u001b[0;32m 2697\u001b[0m \u001b[38;5;129m@cy_log\u001b[39m\n\u001b[0;32m 2698\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mclear_network_zoom_bypass\u001b[39m(network\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, base_url\u001b[38;5;241m=\u001b[39mDEFAULT_BASE_URL):\n\u001b[0;32m 2699\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Clear the bypass value for the scale factor for the network, effectively restoring prior default values.\u001b[39;00m\n\u001b[0;32m 2700\u001b[0m \n\u001b[0;32m 2701\u001b[0m \u001b[38;5;124;03m Args:\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 2724\u001b[0m \u001b[38;5;124;03m clearing this property will throw an exception.\u001b[39;00m\n\u001b[0;32m 2725\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m-> 2726\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[43mclear_network_property_bypass\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mNETWORK_SCALE_FACTOR\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnetwork\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnetwork\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbase_url\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbase_url\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 2727\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m res\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\py4cytoscape_logger.py:133\u001b[0m, in \u001b[0;36mcy_log.<locals>.wrapper_log\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 131\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m log_return(func, value)\n\u001b[0;32m 132\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m--> 133\u001b[0m \u001b[43mlog_exception\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43me\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 134\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[0;32m 135\u001b[0m log_finally()\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\py4cytoscape_logger.py:130\u001b[0m, in \u001b[0;36mcy_log.<locals>.wrapper_log\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 128\u001b[0m log_incoming(func, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 129\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 130\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# Call function being logged\u001b[39;00m\n\u001b[0;32m 131\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m log_return(func, value)\n\u001b[0;32m 132\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\style_bypasses.py:516\u001b[0m, in \u001b[0;36mclear_network_property_bypass\u001b[1;34m(visual_property, network, base_url)\u001b[0m\n\u001b[0;32m 512\u001b[0m view_suid \u001b[38;5;241m=\u001b[39m network_views\u001b[38;5;241m.\u001b[39mget_network_views(net_suid, base_url\u001b[38;5;241m=\u001b[39mbase_url)[\u001b[38;5;241m0\u001b[39m]\n\u001b[0;32m 514\u001b[0m visual_property \u001b[38;5;241m=\u001b[39m normalize_prop_name(visual_property)\n\u001b[1;32m--> 516\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[43mcommands\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcyrest_delete\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43mf\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mnetworks/\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43mnet_suid\u001b[49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[38;5;124;43m/views/\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43mview_suid\u001b[49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[38;5;124;43m/network/\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43mvisual_property\u001b[49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[38;5;124;43m/bypass\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m 517\u001b[0m \u001b[43m \u001b[49m\u001b[43mbase_url\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbase_url\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 518\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m res\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\py4cytoscape_logger.py:133\u001b[0m, in \u001b[0;36mcy_log.<locals>.wrapper_log\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 131\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m log_return(func, value)\n\u001b[0;32m 132\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m--> 133\u001b[0m \u001b[43mlog_exception\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43me\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 134\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[0;32m 135\u001b[0m log_finally()\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\py4cytoscape_logger.py:130\u001b[0m, in \u001b[0;36mcy_log.<locals>.wrapper_log\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 128\u001b[0m log_incoming(func, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 129\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 130\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;66;03m# Call function being logged\u001b[39;00m\n\u001b[0;32m 131\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m log_return(func, value)\n\u001b[0;32m 132\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\commands.py:118\u001b[0m, in \u001b[0;36mcyrest_delete\u001b[1;34m(operation, parameters, base_url, require_json)\u001b[0m\n\u001b[0;32m 116\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m r\u001b[38;5;241m.\u001b[39mtext\n\u001b[0;32m 117\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m requests\u001b[38;5;241m.\u001b[39mexceptions\u001b[38;5;241m.\u001b[39mRequestException \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m--> 118\u001b[0m \u001b[43m_handle_error\u001b[49m\u001b[43m(\u001b[49m\u001b[43me\u001b[49m\u001b[43m)\u001b[49m\n",
|
||
"File \u001b[1;32mA:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\py4cytoscape\\commands.py:683\u001b[0m, in \u001b[0;36m_handle_error\u001b[1;34m(e, force_cy_error)\u001b[0m\n\u001b[0;32m 681\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 682\u001b[0m show_error(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mIn \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mcaller\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00me\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mcontent\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m--> 683\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n",
|
||
"\u001b[1;31mCyError\u001b[0m: In cyrest_delete(): Bypass Visual Property does not exist: NETWORK_SCALE_FACTOR"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.clear_network_zoom_bypass()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "234855d1-a961-4dd7-9b2e-a96d7acc1142",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{}"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.fit_content()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "79ccddf6-3b0f-4151-a333-05b6e7b5ed8a",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"3.1950671670515094"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"zoom = p4c.get_network_zoom()\n",
|
||
"zoom"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 63,
|
||
"id": "dc8f2bcc-9836-4476-bfa4-1d83308375ac",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"1.5660484088532423"
|
||
]
|
||
},
|
||
"execution_count": 63,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"zoom * 0.96"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 64,
|
||
"id": "3e3106c6-d9f4-41cd-8a5a-452cd32b25c0",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"''"
|
||
]
|
||
},
|
||
"execution_count": 64,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.set_network_zoom_bypass(zoom * 0.96, bypass=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "05a19acc-8af7-45d0-8902-1e9776824a38",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "4647c594-46f1-4e12-9927-e73ca5a0486a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "2e6878db-40c0-4ae6-89d6-9b1a5e50baaf",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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gKZiu/PGiX+38847L/mbVebUU08NK1euzC4FAFqMQhEAgKZiu/PGW716dRg9enTyd6vM2WefHdrb27NLAYAWolAEAKCp1NruHGO78/otX748nHzyycnfrjIXX3xxaZs0ANCaFIoAADSNtWvX1tzufOaZZ2bHqWHJkiXhxBNPTP6GlbnqqquyywCAFqFQBACgaTz22GNJ8VXOXXfdlR2njoULF9YsZ8uZOHFidhkA0AIUigAANI141Vy29CrHducN99RTT4W2trbkb1kZRS0AtB6FIgAATSFudx48eHBSeMXY7rzxZs6cGfr27Zv8TSszffr07DIAoIkpFAEAaAq2OzfO/fffn/xNKxMLx/j3BwBag0IRAICmYLtzY91xxx3J37Uy/fv3D3Pnzs0uAwCakEIRAIDCs925d9xwww3J37cy8TN47rnnsssAgCajUAQAoPAef/zxpNwqx3bnnnXllVcmf+PKDBs2zBWhANDkFIoAABTe1VdfnRRb5SxZsiQ7zisQrwYdM2ZM8neuzMiRI8OKFSuySwGAJqFQBACg0Optdz7jjDOy4/SANWvWlLaSZ//e2b99nAMAmo9CEQCAQqu33fnOO+/MjtND4hWIo0aNSv7mlbngggtKhS8A0FwUigAAFJrtzptOvFdivGdi9u9emcsvvzy7DAAoOIUiAACFFa9+GzJkSFJixdju3Duef/75mp9BOddff312GQBQYApFAAAKa/bs2Ul5VY7tzr1n3rx5oX///slnUJnbbrstuwwAKCiFIgAAhfX3v/89Ka7KWbx4cXacBor3suzXr1/yOVTmvvvuyy4DAApIoQgAQCHV2+48evTo7Di94MEHHwx9+vRJPo9y4muPPPJIdhkAUDAKRQAACqneduc77rgjO04vufvuu5PPozJtbW1hzpw52WUAQIEoFAEAKCTbnfPrpptuSj6TygwcODAsWLAguwwAKAiFIgAAhbNu3TrbnXPu6quvTj6bygwdOlTxCwAFpVAEAKBwnnjiiaSgKsd253yIpe8ll1ySfD6VOemkk8KyZcuySwGAnFMoAgBQONdcc01STpXzwgsvZMfZRNrb28M555yTfEaVOf3008OqVauySwGAHFMoAgBQKPHKtxNOOCEppsrlFPkSy8LTTjst+awqc+6554aOjo7sUgAgpxSKAAAUSr3tzrfffnt2nBx46aWX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ePbZZ7PLACAXFIoAAPSYetud58yZkx2HlnbllVcm50llhg0bFl588cXsMgDY5BSKAAD0mFrbnYcOHWq7M2SsXbs2jBkzJjlfKjNy5MiwfPny7FIA2KQUigAA9AjbnWHDrVmzJpx11lnJOVOZM844ozQHAHmhUAQAoEfcdtttSRFSju3OUNuKFSvCqFGjkvOmMhdccEHpikYAyAOFIgAAPeK0005LSpAY251h/eK9EocPH56cP5W5/PLLnUsA5IJCEQCAV2zRokVJ+VHOtddemx0HuhBvGzBkyJDkHKrM9ddfn10GAL1OoQgAwCtWb7vzk08+mR0Hapg3b14YMGBAch5VJp5vALApKRQBAHjFam13PuGEE2zRhA30+OOPh379+iXnU2WmTp2aXQYAvUahCADAK/LCCy8kZUc5tjvDxnnwwQdDnz59knOqnPjaI488kl0GAL1CoQgAwCty++23J2VHObY7w8a7++67k3OqMm1tbc4xADYJhSIAAK/I6aefnhQdMbY7wyt30003JedWZQYOHBgWLFiQXQYADaVQBABgo9Xb7nzNNddkx4GN8Pe//z05vyozdOjQsHjx4uwyAGgYhSIAABut3nbnJ554IjsObIR4pe+ll16anGOVOemkk8KyZcuySwGgIRSKAABsNNudoXe0t7eHc889NznXKhOftr5q1arsUgDocQpFAAA2iu3O0LtiWRhLw+z5VplYOsbyEQAaSaEIAMBGueOOO5IyoxzbnaEx4rbmuL05e85VJm6PdoUwAI2kUAQAYKOMHj06KTJihgwZosyABooPYIkPYsmee5WJD3IBgEZRKAIAsMFioZEtMBQZ0HsWLFgQBg4cmJx/lbn55puzywCgRygUAQDYYPW2O8+ePTs7DjTAk08+Gdra2pJzsDJ33313dhkAvGIKRQAANli97c5r167NjgMN8sgjj4Q+ffok52I58bUHH3wwuwwAXhGFIgAAG8R2Z8iXqVOnJudiZfr16xcef/zx7DIA2GgKRQAANsidd96ZFBblKC1g07jtttuS87EyAwYMCPPmzcsuA4CNolAEAGCDnHHGGUlZETN48GDbnWETuv7665PzsjLxlgTPP/98dhkAbDCFIgAA3bZkyZKkpCjn6quvzo4DvWjdunXh8ssvT87NygwfPjwsXbo0uxQANohCEQCAbrPdGfItXiV8wQUX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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.notebook_export_show_image()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "66128f17-16eb-43d3-9d63-bbac3f8f803a",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'message': 'Visual Style applied.'}"
|
||
]
|
||
},
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.set_visual_style('Marquee')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "ca0cc760-74e4-4c4a-b78a-c932ab16ab06",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"execution_count": 13,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.notebook_export_show_image()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"id": "24c29cb3-cf64-4fad-8b1a-b0962f1005b4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'message': 'Visual Style applied.'}"
|
||
]
|
||
},
|
||
"execution_count": 14,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"style_name = \"myStyle\"\n",
|
||
"defaults = {'NODE_SHAPE': \"diamond\", 'NODE_SIZE': 30, 'EDGE_TRANSPARENCY': 120, 'NODE_LABEL_POSITION': \"W,E,c,0.00,0.00\"}\n",
|
||
"nodeLabels = p4c.map_visual_property('node label', 'id', 'p') #'p' means 'passthrough' mapping\n",
|
||
"edgeWidth = p4c.map_visual_property('edge width', 'weight', 'p') #'p' means 'passthrough' mapping\n",
|
||
"p4c.create_visual_style(style_name, defaults, [nodeLabels, edgeWidth])\n",
|
||
"p4c.set_visual_style(style_name)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "1dfb553a-2367-463e-8a3d-0d232c2aedd0",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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VavC7t27039eAAAGiKAIAHWg3oNijEFpNHzNa14TPv7xjxf+bhdccEEhZpV+fvHFF+d6xZmY2PP0FBX/7d/+LRPzBnoaGxvDlClTwuLFiwu3Wz/33HPpPykAAINEUASAOlDPQfGJJ54ouzLxBS94QeFqxTQWPvLII+Gv//qvy6Li9773vbI1h0pM7HtqISqOGjUq3HfffWHZsmXhmWeeCQcOHEj/GQEAqBGCIgDUgXoOipdffnlZJLzzzjvTJUUbN24ML33pS4tr/+qv/ips3749XdYvYmJlM9BRcdy4cWH+/PmF4Lxz5870nw0AgBomKAJAHajXoPjkk0+GI444ovjd3/rWt4aurq50WZm77rqrLED+93//d7qkYmJi/6ZaUTHevjx58uTCW6LXrl0b9u/fn/5TAQBQRwRFAIaU+LbXeOvkrbfeWrgSLkaMw325R3t7e5g9e3b47W9/G374wx8Wgldra2vYsGFDuvSQrFixIowcObJw7viG43vvvTfznQ83KMYr/+Lben/605+GW265JfzqV78q3F5a7efSxb1K4+Cvf/3rdElGfMPwCSecUDzm7/7u79IlFRETD23yiIpNTU1hxowZhbd6x//tdXR0pP88AADUMUERgLry3e9+N7zwhS8szMknn1z88/jyhnj1W2m86p74/L6rrroq7Nq1q+RMB7d+/frwmc98pixKlU4MLeecc04YO3ZsemhF5syZE9785jdnzhvnRS96USEidt8KeihBMV4JGOPO2WefnXnhSffE3/Fzn/tcbnE09Y//+I/FveKVipX+G3zkIx8p+55PPfVUuqRPYuLhTX+jYvz/wNy5c8Pjjz9euEX9YFehAgBQ3wRFAOrKt7/97WLkiFexRddee22vwax0Yljbtm1bcsaetbS0hOOOOy5zjt7m0ksvDfv27UtP06sbbrihou982mmnFa5g7G9QjFeFve1tb8ucr7d58YtfXLgyMk8xKsVg2b3H3/7t36ZLenXbbbeVfb941WmlxMR8pq+oOHHixLBo0aKwZs2azNW0AAAMfYIiAHUlDYo/+clPiv89RqRLLrkkfOlLXwpf/OIXw7nnnpuJdh/96EfTU2bE572VPvcvzkknnVS4ku+6664LX//618P555+fOfcFF1xQ0a2dd9xxR9lxcd74xjcWznvTTTeFb37zm4UrH7s/O+uss8In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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.notebook_export_show_image()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"id": "5d535abb-83f0-40c8-b781-5b3129183ebf",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Applying default style...\n",
|
||
"Applying preferred layout\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"397"
|
||
]
|
||
},
|
||
"execution_count": 20,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"nodes = pd.DataFrame(data={'id': [\"A\", \"B\", \"C\", \"D\"]})\n",
|
||
"edges = pd.DataFrame(data={'source': [\"C\", \"B\", \"B\", \"B\"], 'target': [\"D\", \"A\", \"D\", \"C\"]})\n",
|
||
"\n",
|
||
"p4c.create_network_from_data_frames(nodes, edges, title=\"simple network\", collection=\"Biological Example\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"id": "bb8bf383-7760-434e-ab3d-71b976024006",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.notebook_export_show_image()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"id": "1c4ab4f0-1f4d-4b9e-8b56-ec0f648531cb",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>SUID</th>\n",
|
||
" <th>shared name</th>\n",
|
||
" <th>id</th>\n",
|
||
" <th>name</th>\n",
|
||
" <th>selected</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>427</th>\n",
|
||
" <td>427</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>430</th>\n",
|
||
" <td>430</td>\n",
|
||
" <td>B</td>\n",
|
||
" <td>B</td>\n",
|
||
" <td>B</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>433</th>\n",
|
||
" <td>433</td>\n",
|
||
" <td>C</td>\n",
|
||
" <td>C</td>\n",
|
||
" <td>C</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>436</th>\n",
|
||
" <td>436</td>\n",
|
||
" <td>D</td>\n",
|
||
" <td>D</td>\n",
|
||
" <td>D</td>\n",
|
||
" <td>False</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" SUID shared name id name selected\n",
|
||
"427 427 A A A False\n",
|
||
"430 430 B B B False\n",
|
||
"433 433 C C C False\n",
|
||
"436 436 D D D False"
|
||
]
|
||
},
|
||
"execution_count": 22,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.get_table_columns()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"id": "0a7b318d-b4e1-4eef-ab13-14e9b7bfa80e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['SUID', 'shared name', 'id', 'name', 'selected']"
|
||
]
|
||
},
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.get_table_column_names()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"id": "29ba0973-1bc8-4987-b4ff-f3e50f9df573",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'Attribute Circle Layout': 'attribute-circle',\n",
|
||
" 'Stacked Node Layout': 'stacked-node-layout',\n",
|
||
" 'Attribute Grid Layout': 'attribute-grid',\n",
|
||
" 'Degree Sorted Circle Layout': 'degree-circle',\n",
|
||
" 'Circular Layout': 'circular',\n",
|
||
" 'Group Attributes Layout': 'attributes-layout',\n",
|
||
" 'Edge-weighted Spring Embedded Layout': 'kamada-kawai',\n",
|
||
" 'Prefuse Force Directed Layout': 'force-directed',\n",
|
||
" 'Compound Spring Embedder (CoSE)': 'cose',\n",
|
||
" 'Grid Layout': 'grid',\n",
|
||
" 'Hierarchical Layout': 'hierarchical',\n",
|
||
" 'Edge-weighted Force directed (BioLayout)': 'fruchterman-rheingold',\n",
|
||
" 'Inverted Self-Organizing Map Layout': 'isom',\n",
|
||
" 'Prefuse Force Directed OpenCL Layout': 'force-directed-cl'}"
|
||
]
|
||
},
|
||
"execution_count": 25,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.get_layout_name_mapping()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"id": "63aba4a3-f53f-4eb0-ab6b-17bbd1b58e78",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"['m_averageIterationsPerNode',\n",
|
||
" 'm_nodeDistanceStrengthConstant',\n",
|
||
" 'm_nodeDistanceRestLengthConstant',\n",
|
||
" 'm_disconnectedNodeDistanceSpringStrength',\n",
|
||
" 'm_disconnectedNodeDistanceSpringRestLength',\n",
|
||
" 'm_anticollisionSpringStrength',\n",
|
||
" 'm_layoutPass',\n",
|
||
" 'singlePartition',\n",
|
||
" 'unweighted',\n",
|
||
" 'randomize']"
|
||
]
|
||
},
|
||
"execution_count": 29,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.get_layout_property_names('kamada-kawai')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"id": "eec4f428-3abd-40da-a291-112b3e0d6f65",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'boolean'"
|
||
]
|
||
},
|
||
"execution_count": 31,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.get_layout_property_type('kamada-kawai', 'randomize')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"id": "98eb2412-5f24-4180-beac-2cadac9bb35e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"True"
|
||
]
|
||
},
|
||
"execution_count": 32,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.get_layout_property_value('kamada-kawai', 'randomize')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "3bdb2b5f-609b-4bbf-8e42-a8ec07e5bda2",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 34,
|
||
"id": "fc3d4dd1-a132-4f08-adc3-add2eb25cc27",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from pathlib import Path"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 39,
|
||
"id": "11beffb4-a21e-4b73-9c0c-a0ec57513ebd",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"tp = Path.cwd()\n",
|
||
"file = tp / 'test.svg'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 38,
|
||
"id": "03696e83-9c87-4ec3-bba2-024f4747385a",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'file': 'A:\\\\Arbeitsaufgaben\\\\lang-main\\\\test-notebooks.xml'}"
|
||
]
|
||
},
|
||
"execution_count": 38,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.export_visual_styles(str(tp))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 40,
|
||
"id": "0e4068b3-7bf9-4093-8887-02b677a76fc1",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'file': 'A:\\\\Arbeitsaufgaben\\\\lang-main\\\\test-notebooks\\\\test.svg'}"
|
||
]
|
||
},
|
||
"execution_count": 40,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"p4c.export_image(str(file), type='SVG')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "be448cd8-022c-446b-9294-2d00bc445054",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "52792182-c8bc-4973-9682-36360604705b",
|
||
"metadata": {},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"# Find reason that TokenGraph weight sometimes is zero"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "7e5c6d2c-2558-4c6a-9e0b-19e36279b4ce",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-07-24 14:22:25 +0000 | io:INFO | Loaded TOML config file successfully.\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\transformers\\utils\\generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n",
|
||
" _torch_pytree._register_pytree_node(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\huggingface_hub\\file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
|
||
" warnings.warn(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\transformers\\utils\\generic.py:309: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n",
|
||
" _torch_pytree._register_pytree_node(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\transformers\\utils\\generic.py:309: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n",
|
||
" _torch_pytree._register_pytree_node(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\huggingface_hub\\file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
|
||
" warnings.warn(\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from lang_main.constants import SAVE_PATH_FOLDER, SPCY_MODEL\n",
|
||
"from lang_main.types import EntryPoints\n",
|
||
"from lang_main import io\n",
|
||
"from lang_main.analysis import tokens, graphs"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "f4cad9da-6570-41c5-9adb-032052e34a7d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-07-24 14:22:30 +0000 | io:INFO | Loaded file successfully.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"p_df = io.get_entry_point(SAVE_PATH_FOLDER, EntryPoints.TIMELINE)\n",
|
||
"(data,) = io.load_pickle(p_df)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "c7c683a5-a6db-42b0-84f0-7806d30bd46f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>VorgangsID</th>\n",
|
||
" <th>ObjektID</th>\n",
|
||
" <th>HObjektText</th>\n",
|
||
" <th>ObjektArtID</th>\n",
|
||
" <th>ObjektArtText</th>\n",
|
||
" <th>VorgangsTypID</th>\n",
|
||
" <th>VorgangsTypName</th>\n",
|
||
" <th>VorgangsDatum</th>\n",
|
||
" <th>VorgangsStatusId</th>\n",
|
||
" <th>VorgangsPrioritaet</th>\n",
|
||
" <th>VorgangsBeschreibung</th>\n",
|
||
" <th>VorgangsOrt</th>\n",
|
||
" <th>VorgangsArtText</th>\n",
|
||
" <th>ErledigungsDatum</th>\n",
|
||
" <th>ErledigungsArtText</th>\n",
|
||
" <th>ErledigungsBeschreibung</th>\n",
|
||
" <th>MPMelderArbeitsplatz</th>\n",
|
||
" <th>MPAbteilungBezeichnung</th>\n",
|
||
" <th>Arbeitsbeginn</th>\n",
|
||
" <th>ErstellungsDatum</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>53</td>\n",
|
||
" <td>244</td>\n",
|
||
" <td>285 C, Webmaschine, SG 220 EMS</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>Greifer-Webmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-03-19</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Kupplung schleift</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kupplung defekt</td>\n",
|
||
" <td>2019-03-20</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>NaT</td>\n",
|
||
" <td>2019-03-19</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>58</td>\n",
|
||
" <td>257</td>\n",
|
||
" <td>107, Webmaschine, OM 220 EOS</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Luft-Webmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-03-21</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Gegengewicht wieder anbringen</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Gegengewicht an der Webmaschine abgefallen</td>\n",
|
||
" <td>2019-03-21</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Schraube ausgebohrt\\nGegengewicht wieder angeb...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2019-03-21</td>\n",
|
||
" <td>2019-03-21</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>81</td>\n",
|
||
" <td>138</td>\n",
|
||
" <td>00138, Schärmaschine 9,</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>Schärmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>da ist etwas gebrochen. (Herr Heininger)</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>zentrale Bremsenverstellung linke Gatterseite ...</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Bolzen gebrochen. Bolzen neu angefertig und di...</td>\n",
|
||
" <td>Vorwerk</td>\n",
|
||
" <td>Vorwerk</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>82</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Warenschau allgemein</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Klappbügel Portalkran H31 defekt</td>\n",
|
||
" <td>Warenschau allgemein</td>\n",
|
||
" <td>Allgemeine Reparaturarbeiten</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Feder ausgetauscht</td>\n",
|
||
" <td>Warenschau</td>\n",
|
||
" <td>Warenschau</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>76</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Neben der Türe</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-03-22</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Schraube nix mer gut</td>\n",
|
||
" <td>Neben der Türe</td>\n",
|
||
" <td>Kettbaum</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Schrauben ausgebohrt\\t\\nGewinde nachgeschnitten\\t</td>\n",
|
||
" <td>Vorwerk</td>\n",
|
||
" <td>Vorwerk</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>2019-03-22</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" VorgangsID ObjektID HObjektText ObjektArtID \\\n",
|
||
"0 53 244 285 C, Webmaschine, SG 220 EMS 5 \n",
|
||
"1 58 257 107, Webmaschine, OM 220 EOS 3 \n",
|
||
"2 81 138 00138, Schärmaschine 9, 16 \n",
|
||
"3 82 0 Warenschau allgemein 0 \n",
|
||
"4 76 0 Neben der Türe 0 \n",
|
||
"\n",
|
||
" ObjektArtText VorgangsTypID VorgangsTypName \\\n",
|
||
"0 Greifer-Webmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"1 Luft-Webmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"2 Schärmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"3 NaN 3 Reparaturauftrag (Portal) \n",
|
||
"4 NaN 3 Reparaturauftrag (Portal) \n",
|
||
"\n",
|
||
" VorgangsDatum VorgangsStatusId VorgangsPrioritaet \\\n",
|
||
"0 2019-03-19 5 0 \n",
|
||
"1 2019-03-21 5 0 \n",
|
||
"2 2019-03-25 5 0 \n",
|
||
"3 2019-03-25 5 0 \n",
|
||
"4 2019-03-22 5 0 \n",
|
||
"\n",
|
||
" VorgangsBeschreibung VorgangsOrt \\\n",
|
||
"0 Kupplung schleift NaN \n",
|
||
"1 Gegengewicht wieder anbringen NaN \n",
|
||
"2 da ist etwas gebrochen. (Herr Heininger) NaN \n",
|
||
"3 Klappbügel Portalkran H31 defekt Warenschau allgemein \n",
|
||
"4 Schraube nix mer gut Neben der Türe \n",
|
||
"\n",
|
||
" VorgangsArtText ErledigungsDatum \\\n",
|
||
"0 Kupplung defekt 2019-03-20 \n",
|
||
"1 Gegengewicht an der Webmaschine abgefallen 2019-03-21 \n",
|
||
"2 zentrale Bremsenverstellung linke Gatterseite ... 2019-03-25 \n",
|
||
"3 Allgemeine Reparaturarbeiten 2019-03-25 \n",
|
||
"4 Kettbaum 2019-03-25 \n",
|
||
"\n",
|
||
" ErledigungsArtText ErledigungsBeschreibung \\\n",
|
||
"0 Reparatur UTT NaN \n",
|
||
"1 Reparatur UTT Schraube ausgebohrt\\nGegengewicht wieder angeb... \n",
|
||
"2 Reparatur UTT Bolzen gebrochen. Bolzen neu angefertig und di... \n",
|
||
"3 Reparatur UTT Feder ausgetauscht \n",
|
||
"4 Reparatur UTT Schrauben ausgebohrt\\t\\nGewinde nachgeschnitten\\t \n",
|
||
"\n",
|
||
" MPMelderArbeitsplatz MPAbteilungBezeichnung Arbeitsbeginn ErstellungsDatum \n",
|
||
"0 Weberei Weberei NaT 2019-03-19 \n",
|
||
"1 Weberei Weberei 2019-03-21 2019-03-21 \n",
|
||
"2 Vorwerk Vorwerk 2019-03-25 2019-03-25 \n",
|
||
"3 Warenschau Warenschau 2019-03-25 2019-03-25 \n",
|
||
"4 Vorwerk Vorwerk 2019-03-25 2019-03-22 "
|
||
]
|
||
},
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"data.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "aba15410-474a-476d-bad5-c5ded56322be",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-07-24 14:22:30 +0000 | io:INFO | Loaded file successfully.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"p_tl = io.get_entry_point(SAVE_PATH_FOLDER, EntryPoints.TIMELINE_POST)\n",
|
||
"cands, texts = io.load_pickle(p_tl)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "6c3d5ae4-d28b-4322-a41b-d0bfc647081b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(7552,\n",
|
||
" 8192,\n",
|
||
" 119558,\n",
|
||
" 647,\n",
|
||
" 2310,\n",
|
||
" 48781,\n",
|
||
" 66323,\n",
|
||
" 8214,\n",
|
||
" 5405,\n",
|
||
" 108961,\n",
|
||
" 91173,\n",
|
||
" 2985,\n",
|
||
" 3881,\n",
|
||
" 9917,\n",
|
||
" 66751,\n",
|
||
" 85442,\n",
|
||
" 118602,\n",
|
||
" 7243,\n",
|
||
" 62416,\n",
|
||
" 979,\n",
|
||
" 214,\n",
|
||
" 103,\n",
|
||
" 123111,\n",
|
||
" 81133,\n",
|
||
" 88558,\n",
|
||
" 14319,\n",
|
||
" 14834,\n",
|
||
" 2424,\n",
|
||
" 101497,\n",
|
||
" 25341,\n",
|
||
" 69375)"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"cands[1654][1]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "62ef88ef-c1cb-4dc9-b88d-be335984b393",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def pre_filter_data(\n",
|
||
" data,\n",
|
||
" idx,\n",
|
||
" obj_id,\n",
|
||
"):\n",
|
||
" idx = int(idx)\n",
|
||
" obj_id = int(obj_id)\n",
|
||
" # data = data.copy()\n",
|
||
" cands_for_obj_id = cands[obj_id]\n",
|
||
" cands_choice = cands_for_obj_id[int(idx) - 1]\n",
|
||
" # data\n",
|
||
" data = data.loc[list(cands_choice)].sort_index() # type: ignore\n",
|
||
"\n",
|
||
" return data"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"id": "0433246a-174b-4e6d-b432-9b3cd8861677",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# filtered = pre_filter_data(data, 2, 1654)\n",
|
||
"# filtered = pre_filter_data(data, 1, 1809)\n",
|
||
"filtered = pre_filter_data(data, 1, 59)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "7c90c295-c7bc-4c99-ab74-a30f4015cde8",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>VorgangsID</th>\n",
|
||
" <th>ObjektID</th>\n",
|
||
" <th>HObjektText</th>\n",
|
||
" <th>ObjektArtID</th>\n",
|
||
" <th>ObjektArtText</th>\n",
|
||
" <th>VorgangsTypID</th>\n",
|
||
" <th>VorgangsTypName</th>\n",
|
||
" <th>VorgangsDatum</th>\n",
|
||
" <th>VorgangsStatusId</th>\n",
|
||
" <th>VorgangsPrioritaet</th>\n",
|
||
" <th>VorgangsBeschreibung</th>\n",
|
||
" <th>VorgangsOrt</th>\n",
|
||
" <th>VorgangsArtText</th>\n",
|
||
" <th>ErledigungsDatum</th>\n",
|
||
" <th>ErledigungsArtText</th>\n",
|
||
" <th>ErledigungsBeschreibung</th>\n",
|
||
" <th>MPMelderArbeitsplatz</th>\n",
|
||
" <th>MPAbteilungBezeichnung</th>\n",
|
||
" <th>Arbeitsbeginn</th>\n",
|
||
" <th>ErstellungsDatum</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>188</th>\n",
|
||
" <td>139361</td>\n",
|
||
" <td>59</td>\n",
|
||
" <td>514 C , Webmaschine, DL 280 EMS Breite 280 Bj....</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Luft-Webmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2021-09-16</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Stab muss getauscht werden</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Stabbreithalter Reparatur</td>\n",
|
||
" <td>2021-09-15</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>UTT-Reparatur</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2021-09-15</td>\n",
|
||
" <td>2021-09-16</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>6096</th>\n",
|
||
" <td>151017</td>\n",
|
||
" <td>59</td>\n",
|
||
" <td>514 C , Webmaschine, DL 280 EMS Breite 280 Bj....</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Luft-Webmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2022-02-10</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Stab wurde getauscht</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Stabbreithalter Reparatur</td>\n",
|
||
" <td>2022-02-10</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Stab wurde getauscht</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2022-02-10</td>\n",
|
||
" <td>2022-02-10</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>10470</th>\n",
|
||
" <td>587652</td>\n",
|
||
" <td>59</td>\n",
|
||
" <td>514 C , Webmaschine, DL 280 EMS Breite 280 Bj....</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Luft-Webmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2023-06-13</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Stab wurde getauscht</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Stabbreithalter Reparatur</td>\n",
|
||
" <td>2023-06-13</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Stab wurde getauscht</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2023-06-13</td>\n",
|
||
" <td>2023-06-13</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>53974</th>\n",
|
||
" <td>260534</td>\n",
|
||
" <td>59</td>\n",
|
||
" <td>514 C , Webmaschine, DL 280 EMS Breite 280 Bj....</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Luft-Webmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2022-06-15</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Stab wurde getauscht</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Stabbreithalter Reparatur</td>\n",
|
||
" <td>2022-06-15</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Stab wurde getauscht</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2022-06-15</td>\n",
|
||
" <td>2022-06-15</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>107542</th>\n",
|
||
" <td>531473</td>\n",
|
||
" <td>59</td>\n",
|
||
" <td>514 C , Webmaschine, DL 280 EMS Breite 280 Bj....</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Luft-Webmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2023-05-08</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Stab wurde getauscht</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Stabbreithalter Reparatur</td>\n",
|
||
" <td>2023-05-08</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Sichtkontrolle durchgeführt\\nstab wurde getaus...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2023-05-08</td>\n",
|
||
" <td>2023-05-08</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>122411</th>\n",
|
||
" <td>513489</td>\n",
|
||
" <td>59</td>\n",
|
||
" <td>514 C , Webmaschine, DL 280 EMS Breite 280 Bj....</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Luft-Webmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2023-02-15</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Stab wurde getauscht</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Stabbreithalter Reparatur</td>\n",
|
||
" <td>2023-02-15</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Stab wurde getauscht</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2023-02-15</td>\n",
|
||
" <td>2023-02-15</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" VorgangsID ObjektID \\\n",
|
||
"188 139361 59 \n",
|
||
"6096 151017 59 \n",
|
||
"10470 587652 59 \n",
|
||
"53974 260534 59 \n",
|
||
"107542 531473 59 \n",
|
||
"122411 513489 59 \n",
|
||
"\n",
|
||
" HObjektText ObjektArtID \\\n",
|
||
"188 514 C , Webmaschine, DL 280 EMS Breite 280 Bj.... 3 \n",
|
||
"6096 514 C , Webmaschine, DL 280 EMS Breite 280 Bj.... 3 \n",
|
||
"10470 514 C , Webmaschine, DL 280 EMS Breite 280 Bj.... 3 \n",
|
||
"53974 514 C , Webmaschine, DL 280 EMS Breite 280 Bj.... 3 \n",
|
||
"107542 514 C , Webmaschine, DL 280 EMS Breite 280 Bj.... 3 \n",
|
||
"122411 514 C , Webmaschine, DL 280 EMS Breite 280 Bj.... 3 \n",
|
||
"\n",
|
||
" ObjektArtText VorgangsTypID VorgangsTypName \\\n",
|
||
"188 Luft-Webmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"6096 Luft-Webmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"10470 Luft-Webmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"53974 Luft-Webmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"107542 Luft-Webmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"122411 Luft-Webmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"\n",
|
||
" VorgangsDatum VorgangsStatusId VorgangsPrioritaet \\\n",
|
||
"188 2021-09-16 5 0 \n",
|
||
"6096 2022-02-10 5 0 \n",
|
||
"10470 2023-06-13 5 0 \n",
|
||
"53974 2022-06-15 5 0 \n",
|
||
"107542 2023-05-08 5 0 \n",
|
||
"122411 2023-02-15 5 0 \n",
|
||
"\n",
|
||
" VorgangsBeschreibung VorgangsOrt VorgangsArtText \\\n",
|
||
"188 Stab muss getauscht werden NaN Stabbreithalter Reparatur \n",
|
||
"6096 Stab wurde getauscht NaN Stabbreithalter Reparatur \n",
|
||
"10470 Stab wurde getauscht NaN Stabbreithalter Reparatur \n",
|
||
"53974 Stab wurde getauscht NaN Stabbreithalter Reparatur \n",
|
||
"107542 Stab wurde getauscht NaN Stabbreithalter Reparatur \n",
|
||
"122411 Stab wurde getauscht NaN Stabbreithalter Reparatur \n",
|
||
"\n",
|
||
" ErledigungsDatum ErledigungsArtText \\\n",
|
||
"188 2021-09-15 Intern UTT - Reparatur \n",
|
||
"6096 2022-02-10 Intern UTT - Reparatur \n",
|
||
"10470 2023-06-13 Intern UTT - Reparatur \n",
|
||
"53974 2022-06-15 Intern UTT - Reparatur \n",
|
||
"107542 2023-05-08 Intern UTT - Reparatur \n",
|
||
"122411 2023-02-15 Intern UTT - Reparatur \n",
|
||
"\n",
|
||
" ErledigungsBeschreibung \\\n",
|
||
"188 UTT-Reparatur \n",
|
||
"6096 Stab wurde getauscht \n",
|
||
"10470 Stab wurde getauscht \n",
|
||
"53974 Stab wurde getauscht \n",
|
||
"107542 Sichtkontrolle durchgeführt\\nstab wurde getaus... \n",
|
||
"122411 Stab wurde getauscht \n",
|
||
"\n",
|
||
" MPMelderArbeitsplatz MPAbteilungBezeichnung Arbeitsbeginn \\\n",
|
||
"188 Weberei Weberei 2021-09-15 \n",
|
||
"6096 Weberei Weberei 2022-02-10 \n",
|
||
"10470 Weberei Weberei 2023-06-13 \n",
|
||
"53974 Weberei Weberei 2022-06-15 \n",
|
||
"107542 Weberei Weberei 2023-05-08 \n",
|
||
"122411 Weberei Weberei 2023-02-15 \n",
|
||
"\n",
|
||
" ErstellungsDatum \n",
|
||
"188 2021-09-16 \n",
|
||
"6096 2022-02-10 \n",
|
||
"10470 2023-06-13 \n",
|
||
"53974 2022-06-15 \n",
|
||
"107542 2023-05-08 \n",
|
||
"122411 2023-02-15 "
|
||
]
|
||
},
|
||
"execution_count": 15,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"filtered"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "51c14b60-a979-4097-a364-3585cbb00b8b",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Index(['VorgangsID', 'ObjektID', 'HObjektText', 'ObjektArtID', 'ObjektArtText',\n",
|
||
" 'VorgangsTypID', 'VorgangsTypName', 'VorgangsDatum', 'VorgangsStatusId',\n",
|
||
" 'VorgangsPrioritaet', 'VorgangsBeschreibung', 'VorgangsOrt',\n",
|
||
" 'VorgangsArtText', 'ErledigungsDatum', 'ErledigungsArtText',\n",
|
||
" 'ErledigungsBeschreibung', 'MPMelderArbeitsplatz',\n",
|
||
" 'MPAbteilungBezeichnung', 'Arbeitsbeginn', 'ErstellungsDatum'],\n",
|
||
" dtype='object')"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"filtered.columns"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"id": "a70700f3-f872-409b-9f2b-d6e36bed71f1",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"filtered['delta'] = filtered['ErledigungsDatum'] - filtered['ErstellungsDatum']\n",
|
||
"filtered['delta'] = filtered['delta'].dt.days"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "f13099a1-539d-4f92-8c18-315b02a061af",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 70,
|
||
"id": "65a14689-081d-42ed-be6a-e49731a14f59",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import plotly.express as px"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 114,
|
||
"id": "03201127-e31f-43a0-9580-f74c52052ac9",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"MARKERS = {\n",
|
||
" 'size': 8,\n",
|
||
" 'color': 'red',\n",
|
||
" 'symbol': 'cross',\n",
|
||
"}"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 115,
|
||
"id": "d221446d-6c83-45be-9fcb-fd926ac2a925",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"HOVER_DATA_DELTA = {\n",
|
||
" 'ErstellungsDatum': '|%d.%m.%Y',\n",
|
||
" 'ErledigungsDatum': '|%d.%m.%Y',\n",
|
||
" 'VorgangsDatum': '|%d.%m.%Y',\n",
|
||
" 'delta': True,\n",
|
||
" 'VorgangsBeschreibung': True,\n",
|
||
"}"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 116,
|
||
"id": "0990eb39-a5ae-4f05-88d8-1a2624284a2d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.plotly.v1+json": {
|
||
"config": {
|
||
"plotlyServerURL": "https://plot.ly"
|
||
},
|
||
"data": [
|
||
{
|
||
"customdata": [
|
||
[
|
||
"2020-12-14T00:00:00",
|
||
"2020-12-10T00:00:00",
|
||
"Kettbaum schrauben abgerochen schrauben ausboren"
|
||
],
|
||
[
|
||
"2021-12-17T00:00:00",
|
||
"2021-12-16T00:00:00",
|
||
"Neue Löcher bohren und Gewinde schneiden. Kettbaum liegt vor der Schlosserei"
|
||
],
|
||
[
|
||
"2022-06-22T00:00:00",
|
||
"2022-06-21T00:00:00",
|
||
"Kettbaum Gewinde nach schneiden (liegt vor Schlosserei)"
|
||
],
|
||
[
|
||
"2022-12-13T00:00:00",
|
||
"2022-12-12T00:00:00",
|
||
"Kettbaum Gewinden kaputt, neue Gewinden machen bitte"
|
||
],
|
||
[
|
||
"2022-02-03T00:00:00",
|
||
"2022-02-03T00:00:00",
|
||
"Gewinde schneiden. Kette liegt vor der Schlosserei"
|
||
],
|
||
[
|
||
"2022-03-28T00:00:00",
|
||
"2022-03-28T00:00:00",
|
||
"Kettbaum Schraube defekt. Liegt vor Schlosserei"
|
||
],
|
||
[
|
||
"2022-01-26T00:00:00",
|
||
"2022-01-26T00:00:00",
|
||
"2 Kettbäume Schrauben ausbohren. Kettbäume liegen vor der Schlosserei"
|
||
],
|
||
[
|
||
"2021-12-16T00:00:00",
|
||
"2021-12-15T00:00:00",
|
||
"Kettbaum Schrauben gebrochen bitte rausbohren"
|
||
],
|
||
[
|
||
"2023-01-23T00:00:00",
|
||
"2023-01-21T00:00:00",
|
||
"Schraube abgebrochen! Kettbaum liegt vor der Schlosserei"
|
||
],
|
||
[
|
||
"2021-12-13T00:00:00",
|
||
"2021-12-12T00:00:00",
|
||
"Kettbaum bei seiten Gewinde neu schneiden"
|
||
],
|
||
[
|
||
"2020-02-10T00:00:00",
|
||
"2020-02-10T00:00:00",
|
||
"Kettbäume vor Schlosserei"
|
||
],
|
||
[
|
||
"2019-11-18T00:00:00",
|
||
"2019-11-13T00:00:00",
|
||
"3*Kettbaum Gewinde nachschneiden"
|
||
],
|
||
[
|
||
"2019-11-11T00:00:00",
|
||
"2019-11-11T00:00:00",
|
||
"2X Kettbaum Gewinden nachschneiden"
|
||
],
|
||
[
|
||
"2023-01-26T00:00:00",
|
||
"2023-01-25T00:00:00",
|
||
"Kettbaum Gewinde nach schneiden. Kette liegt vor der Schlosserei."
|
||
],
|
||
[
|
||
"2020-03-23T00:00:00",
|
||
"2020-03-23T00:00:00",
|
||
"Bei allen 3 Kettbäumen Gewinde neu Schneiden. Ketten liegen vor der Schlosserei"
|
||
],
|
||
[
|
||
"2020-03-23T00:00:00",
|
||
"2020-03-22T00:00:00",
|
||
"Neues Gewinde Schneiden. Kette liegt vor der Schlosserei"
|
||
],
|
||
[
|
||
"2020-06-24T00:00:00",
|
||
"2020-06-24T00:00:00",
|
||
"Kettbaum Gewinde defekt"
|
||
],
|
||
[
|
||
"2021-01-08T00:00:00",
|
||
"2021-01-06T00:00:00",
|
||
"Kettbaum gewinde nachschneiden (Kettbaum vor Schlosserei)"
|
||
],
|
||
[
|
||
"2022-09-16T00:00:00",
|
||
"2022-09-12T00:00:00",
|
||
"Kettbaum Schrauben rund 2X liegen vor Schlosserei"
|
||
],
|
||
[
|
||
"2020-01-10T00:00:00",
|
||
"2020-01-09T00:00:00",
|
||
"Gewinde vom Kettbaum nachschneiden (Kette liegt vor Schlosserei)"
|
||
],
|
||
[
|
||
"2020-01-13T00:00:00",
|
||
"2020-01-10T00:00:00",
|
||
"Kettbaum Schrauben prüfen"
|
||
],
|
||
[
|
||
"2021-07-08T00:00:00",
|
||
"2021-07-06T00:00:00",
|
||
"Neues Gewinde am Kettbaum Schneiden. Kette liegt vor der Schlosserei"
|
||
],
|
||
[
|
||
"2020-02-20T00:00:00",
|
||
"2020-02-20T00:00:00",
|
||
"Gewinde defekt. Kette liegt vor der Schlosserei."
|
||
],
|
||
[
|
||
"2022-04-01T00:00:00",
|
||
"2022-04-01T00:00:00",
|
||
"Kettbaum Gewinde Schneiden, liegt vor der Schlosserei. ( Volle Kette) . 471 Wartet auf die Kette zum Andrehen."
|
||
],
|
||
[
|
||
"2021-05-05T00:00:00",
|
||
"2021-05-05T00:00:00",
|
||
"Adabter Scheibe Gewinde schneiden. Liegt in der Schlosserei auf der Werkbank."
|
||
],
|
||
[
|
||
"2022-05-24T00:00:00",
|
||
"2022-05-23T00:00:00",
|
||
"Kettbaum vor der Schlosserei neue Löcher bohren und Gewinde schneiden"
|
||
],
|
||
[
|
||
"2022-01-31T00:00:00",
|
||
"2022-01-30T00:00:00",
|
||
"Gewinde vom Kettbaum defekt. Neue Löcher bohren + Gewinde schneiden"
|
||
],
|
||
[
|
||
"2023-03-13T00:00:00",
|
||
"2023-03-12T00:00:00",
|
||
"Kettbaum-Schrauben abgebrochen !"
|
||
],
|
||
[
|
||
"2022-03-24T00:00:00",
|
||
"2022-03-24T00:00:00",
|
||
"Kettbaum neue Löcher bohren und Gewinde schneiden"
|
||
],
|
||
[
|
||
"2022-04-26T00:00:00",
|
||
"2022-04-25T00:00:00",
|
||
"Kettbaum Gewinde defekt (liegt vor Schlosserei)"
|
||
],
|
||
[
|
||
"2023-05-11T00:00:00",
|
||
"2023-05-11T00:00:00",
|
||
"Gebrochene Kettbaum Scheibe auswechseln. Steht vor der Schlosserei."
|
||
]
|
||
],
|
||
"hovertemplate": "ErstellungsDatum=%{x|%d.%m.%Y}<br>delta=%{y}<br>ErledigungsDatum=%{customdata[0]|%d.%m.%Y}<br>VorgangsDatum=%{customdata[1]|%d.%m.%Y}<br>VorgangsBeschreibung=%{customdata[2]}<extra></extra>",
|
||
"legendgroup": "",
|
||
"marker": {
|
||
"color": "red",
|
||
"size": 8,
|
||
"symbol": "cross"
|
||
},
|
||
"mode": "markers",
|
||
"name": "",
|
||
"orientation": "v",
|
||
"showlegend": false,
|
||
"type": "scatter",
|
||
"x": [
|
||
"2020-12-10T00:00:00",
|
||
"2021-12-16T00:00:00",
|
||
"2022-06-21T00:00:00",
|
||
"2022-12-12T00:00:00",
|
||
"2022-02-03T00:00:00",
|
||
"2022-03-28T00:00:00",
|
||
"2022-01-26T00:00:00",
|
||
"2021-12-15T00:00:00",
|
||
"2023-01-21T00:00:00",
|
||
"2021-12-12T00:00:00",
|
||
"2020-02-10T00:00:00",
|
||
"2019-11-13T00:00:00",
|
||
"2019-11-11T00:00:00",
|
||
"2023-01-25T00:00:00",
|
||
"2020-03-23T00:00:00",
|
||
"2020-03-22T00:00:00",
|
||
"2020-06-24T00:00:00",
|
||
"2021-01-06T00:00:00",
|
||
"2022-09-12T00:00:00",
|
||
"2020-01-09T00:00:00",
|
||
"2020-01-10T00:00:00",
|
||
"2021-07-06T00:00:00",
|
||
"2020-02-20T00:00:00",
|
||
"2022-04-01T00:00:00",
|
||
"2021-05-05T00:00:00",
|
||
"2022-05-23T00:00:00",
|
||
"2022-01-30T00:00:00",
|
||
"2023-03-12T00:00:00",
|
||
"2022-03-24T00:00:00",
|
||
"2022-04-25T00:00:00",
|
||
"2023-05-11T00:00:00"
|
||
],
|
||
"xaxis": "x",
|
||
"y": [
|
||
4,
|
||
1,
|
||
1,
|
||
1,
|
||
0,
|
||
0,
|
||
0,
|
||
1,
|
||
2,
|
||
1,
|
||
0,
|
||
5,
|
||
0,
|
||
1,
|
||
0,
|
||
1,
|
||
0,
|
||
2,
|
||
4,
|
||
1,
|
||
3,
|
||
2,
|
||
0,
|
||
0,
|
||
0,
|
||
1,
|
||
1,
|
||
1,
|
||
0,
|
||
1,
|
||
0
|
||
],
|
||
"yaxis": "y"
|
||
}
|
||
],
|
||
"layout": {
|
||
"autosize": true,
|
||
"hovermode": "x unified",
|
||
"legend": {
|
||
"tracegroupgap": 0
|
||
},
|
||
"margin": {
|
||
"t": 60
|
||
},
|
||
"template": {
|
||
"data": {
|
||
"bar": [
|
||
{
|
||
"error_x": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"error_y": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"marker": {
|
||
"line": {
|
||
"color": "#E5ECF6",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "bar"
|
||
}
|
||
],
|
||
"barpolar": [
|
||
{
|
||
"marker": {
|
||
"line": {
|
||
"color": "#E5ECF6",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "barpolar"
|
||
}
|
||
],
|
||
"carpet": [
|
||
{
|
||
"aaxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"minorgridcolor": "white",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"baxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"minorgridcolor": "white",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"type": "carpet"
|
||
}
|
||
],
|
||
"choropleth": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "choropleth"
|
||
}
|
||
],
|
||
"contour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "contour"
|
||
}
|
||
],
|
||
"contourcarpet": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "contourcarpet"
|
||
}
|
||
],
|
||
"heatmap": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "heatmap"
|
||
}
|
||
],
|
||
"heatmapgl": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "heatmapgl"
|
||
}
|
||
],
|
||
"histogram": [
|
||
{
|
||
"marker": {
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "histogram"
|
||
}
|
||
],
|
||
"histogram2d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2d"
|
||
}
|
||
],
|
||
"histogram2dcontour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2dcontour"
|
||
}
|
||
],
|
||
"mesh3d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "mesh3d"
|
||
}
|
||
],
|
||
"parcoords": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "parcoords"
|
||
}
|
||
],
|
||
"pie": [
|
||
{
|
||
"automargin": true,
|
||
"type": "pie"
|
||
}
|
||
],
|
||
"scatter": [
|
||
{
|
||
"fillpattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
},
|
||
"type": "scatter"
|
||
}
|
||
],
|
||
"scatter3d": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatter3d"
|
||
}
|
||
],
|
||
"scattercarpet": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattercarpet"
|
||
}
|
||
],
|
||
"scattergeo": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergeo"
|
||
}
|
||
],
|
||
"scattergl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergl"
|
||
}
|
||
],
|
||
"scattermapbox": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattermapbox"
|
||
}
|
||
],
|
||
"scatterpolar": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolar"
|
||
}
|
||
],
|
||
"scatterpolargl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolargl"
|
||
}
|
||
],
|
||
"scatterternary": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterternary"
|
||
}
|
||
],
|
||
"surface": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "surface"
|
||
}
|
||
],
|
||
"table": [
|
||
{
|
||
"cells": {
|
||
"fill": {
|
||
"color": "#EBF0F8"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"header": {
|
||
"fill": {
|
||
"color": "#C8D4E3"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"type": "table"
|
||
}
|
||
]
|
||
},
|
||
"layout": {
|
||
"annotationdefaults": {
|
||
"arrowcolor": "#2a3f5f",
|
||
"arrowhead": 0,
|
||
"arrowwidth": 1
|
||
},
|
||
"autotypenumbers": "strict",
|
||
"coloraxis": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"colorscale": {
|
||
"diverging": [
|
||
[
|
||
0,
|
||
"#8e0152"
|
||
],
|
||
[
|
||
0.1,
|
||
"#c51b7d"
|
||
],
|
||
[
|
||
0.2,
|
||
"#de77ae"
|
||
],
|
||
[
|
||
0.3,
|
||
"#f1b6da"
|
||
],
|
||
[
|
||
0.4,
|
||
"#fde0ef"
|
||
],
|
||
[
|
||
0.5,
|
||
"#f7f7f7"
|
||
],
|
||
[
|
||
0.6,
|
||
"#e6f5d0"
|
||
],
|
||
[
|
||
0.7,
|
||
"#b8e186"
|
||
],
|
||
[
|
||
0.8,
|
||
"#7fbc41"
|
||
],
|
||
[
|
||
0.9,
|
||
"#4d9221"
|
||
],
|
||
[
|
||
1,
|
||
"#276419"
|
||
]
|
||
],
|
||
"sequential": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"sequentialminus": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
]
|
||
},
|
||
"colorway": [
|
||
"#636efa",
|
||
"#EF553B",
|
||
"#00cc96",
|
||
"#ab63fa",
|
||
"#FFA15A",
|
||
"#19d3f3",
|
||
"#FF6692",
|
||
"#B6E880",
|
||
"#FF97FF",
|
||
"#FECB52"
|
||
],
|
||
"font": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"geo": {
|
||
"bgcolor": "white",
|
||
"lakecolor": "white",
|
||
"landcolor": "#E5ECF6",
|
||
"showlakes": true,
|
||
"showland": true,
|
||
"subunitcolor": "white"
|
||
},
|
||
"hoverlabel": {
|
||
"align": "left"
|
||
},
|
||
"hovermode": "closest",
|
||
"mapbox": {
|
||
"style": "light"
|
||
},
|
||
"paper_bgcolor": "white",
|
||
"plot_bgcolor": "#E5ECF6",
|
||
"polar": {
|
||
"angularaxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "#E5ECF6",
|
||
"radialaxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"scene": {
|
||
"xaxis": {
|
||
"backgroundcolor": "#E5ECF6",
|
||
"gridcolor": "white",
|
||
"gridwidth": 2,
|
||
"linecolor": "white",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "white"
|
||
},
|
||
"yaxis": {
|
||
"backgroundcolor": "#E5ECF6",
|
||
"gridcolor": "white",
|
||
"gridwidth": 2,
|
||
"linecolor": "white",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "white"
|
||
},
|
||
"zaxis": {
|
||
"backgroundcolor": "#E5ECF6",
|
||
"gridcolor": "white",
|
||
"gridwidth": 2,
|
||
"linecolor": "white",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "white"
|
||
}
|
||
},
|
||
"shapedefaults": {
|
||
"line": {
|
||
"color": "#2a3f5f"
|
||
}
|
||
},
|
||
"ternary": {
|
||
"aaxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
},
|
||
"baxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "#E5ECF6",
|
||
"caxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"title": {
|
||
"x": 0.05
|
||
},
|
||
"xaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "white",
|
||
"zerolinewidth": 2
|
||
},
|
||
"yaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "white",
|
||
"zerolinewidth": 2
|
||
}
|
||
}
|
||
},
|
||
"xaxis": {
|
||
"anchor": "y",
|
||
"autorange": true,
|
||
"domain": [
|
||
0,
|
||
1
|
||
],
|
||
"range": [
|
||
"2019-08-22 16:53:05.236",
|
||
"2023-07-30 07:06:54.764"
|
||
],
|
||
"tickformat": "%B\n%Y",
|
||
"title": {
|
||
"text": "ErstellungsDatum"
|
||
},
|
||
"type": "date"
|
||
},
|
||
"yaxis": {
|
||
"anchor": "x",
|
||
"autorange": true,
|
||
"domain": [
|
||
0,
|
||
1
|
||
],
|
||
"dtick": 1,
|
||
"range": [
|
||
-0.425531914893617,
|
||
5.425531914893617
|
||
],
|
||
"title": {
|
||
"text": "delta"
|
||
},
|
||
"type": "linear"
|
||
}
|
||
}
|
||
},
|
||
"image/png": "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",
|
||
"text/html": [
|
||
"<div> <div id=\"1eafb9c2-4e4a-48cd-b91e-877cbaf8763e\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"1eafb9c2-4e4a-48cd-b91e-877cbaf8763e\")) { Plotly.newPlot( \"1eafb9c2-4e4a-48cd-b91e-877cbaf8763e\", [{\"customdata\":[[\"2020-12-14T00:00:00\",\"2020-12-10T00:00:00\",\"Kettbaum schrauben abgerochen schrauben ausboren\"],[\"2021-12-17T00:00:00\",\"2021-12-16T00:00:00\",\"Neue L\\u00f6cher bohren und Gewinde schneiden. Kettbaum liegt vor der Schlosserei\"],[\"2022-06-22T00:00:00\",\"2022-06-21T00:00:00\",\"Kettbaum Gewinde nach schneiden (liegt vor Schlosserei)\"],[\"2022-12-13T00:00:00\",\"2022-12-12T00:00:00\",\"Kettbaum Gewinden kaputt, neue Gewinden machen bitte\"],[\"2022-02-03T00:00:00\",\"2022-02-03T00:00:00\",\"Gewinde schneiden. Kette liegt vor der Schlosserei\"],[\"2022-03-28T00:00:00\",\"2022-03-28T00:00:00\",\"Kettbaum Schraube defekt. Liegt vor Schlosserei\"],[\"2022-01-26T00:00:00\",\"2022-01-26T00:00:00\",\"2 Kettb\\u00e4ume Schrauben ausbohren. Kettb\\u00e4ume liegen vor der Schlosserei\"],[\"2021-12-16T00:00:00\",\"2021-12-15T00:00:00\",\"Kettbaum Schrauben gebrochen bitte rausbohren\"],[\"2023-01-23T00:00:00\",\"2023-01-21T00:00:00\",\"Schraube abgebrochen! Kettbaum liegt vor der Schlosserei\"],[\"2021-12-13T00:00:00\",\"2021-12-12T00:00:00\",\"Kettbaum bei seiten Gewinde neu schneiden\"],[\"2020-02-10T00:00:00\",\"2020-02-10T00:00:00\",\"Kettb\\u00e4ume vor Schlosserei\"],[\"2019-11-18T00:00:00\",\"2019-11-13T00:00:00\",\"3*Kettbaum Gewinde nachschneiden\"],[\"2019-11-11T00:00:00\",\"2019-11-11T00:00:00\",\"2X Kettbaum Gewinden nachschneiden\"],[\"2023-01-26T00:00:00\",\"2023-01-25T00:00:00\",\"Kettbaum Gewinde nach schneiden. Kette liegt vor der Schlosserei.\"],[\"2020-03-23T00:00:00\",\"2020-03-23T00:00:00\",\"Bei allen 3 Kettb\\u00e4umen Gewinde neu Schneiden. Ketten liegen vor der Schlosserei\"],[\"2020-03-23T00:00:00\",\"2020-03-22T00:00:00\",\"Neues Gewinde Schneiden. Kette liegt vor der Schlosserei\"],[\"2020-06-24T00:00:00\",\"2020-06-24T00:00:00\",\"Kettbaum Gewinde defekt\"],[\"2021-01-08T00:00:00\",\"2021-01-06T00:00:00\",\"Kettbaum gewinde nachschneiden (Kettbaum vor Schlosserei)\"],[\"2022-09-16T00:00:00\",\"2022-09-12T00:00:00\",\"Kettbaum Schrauben rund 2X liegen vor Schlosserei\"],[\"2020-01-10T00:00:00\",\"2020-01-09T00:00:00\",\"Gewinde vom Kettbaum nachschneiden (Kette liegt vor Schlosserei)\"],[\"2020-01-13T00:00:00\",\"2020-01-10T00:00:00\",\"Kettbaum Schrauben pr\\u00fcfen\"],[\"2021-07-08T00:00:00\",\"2021-07-06T00:00:00\",\"Neues Gewinde am Kettbaum Schneiden. Kette liegt vor der Schlosserei\"],[\"2020-02-20T00:00:00\",\"2020-02-20T00:00:00\",\"Gewinde defekt. Kette liegt vor der Schlosserei.\"],[\"2022-04-01T00:00:00\",\"2022-04-01T00:00:00\",\"Kettbaum Gewinde Schneiden, liegt vor der Schlosserei. ( Volle Kette) . 471 Wartet auf die Kette zum Andrehen.\"],[\"2021-05-05T00:00:00\",\"2021-05-05T00:00:00\",\"Adabter Scheibe Gewinde schneiden. Liegt in der Schlosserei auf der Werkbank.\"],[\"2022-05-24T00:00:00\",\"2022-05-23T00:00:00\",\"Kettbaum vor der Schlosserei neue L\\u00f6cher bohren und Gewinde schneiden\"],[\"2022-01-31T00:00:00\",\"2022-01-30T00:00:00\",\"Gewinde vom Kettbaum defekt. Neue L\\u00f6cher bohren + Gewinde schneiden\"],[\"2023-03-13T00:00:00\",\"2023-03-12T00:00:00\",\"Kettbaum-Schrauben abgebrochen !\"],[\"2022-03-24T00:00:00\",\"2022-03-24T00:00:00\",\"Kettbaum neue L\\u00f6cher bohren und Gewinde schneiden\"],[\"2022-04-26T00:00:00\",\"2022-04-25T00:00:00\",\"Kettbaum Gewinde defekt (liegt vor Schlosserei)\"],[\"2023-05-11T00:00:00\",\"2023-05-11T00:00:00\",\"Gebrochene Kettbaum Scheibe auswechseln. Steht vor der Schlosserei.\"]],\"hovertemplate\":\"ErstellungsDatum=%{x|%d.%m.%Y}\\u003cbr\\u003edelta=%{y}\\u003cbr\\u003eErledigungsDatum=%{customdata[0]|%d.%m.%Y}\\u003cbr\\u003eVorgangsDatum=%{customdata[1]|%d.%m.%Y}\\u003cbr\\u003eVorgangsBeschreibung=%{customdata[2]}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"\",\"marker\":{\"color\":\"red\",\"symbol\":\"cross\",\"size\":8},\"mode\":\"markers\",\"name\":\"\",\"orientation\":\"v\",\"showlegend\":false,\"x\":[\"2020-12-10T00:00:00\",\"2021-12-16T00:00:00\",\"2022-06-21T00:00:00\",\"2022-12-12T00:00:00\",\"2022-02-03T00:00:00\",\"2022-03-28T00:00:00\",\"2022-01-26T00:00:00\",\"2021-12-15T00:00:00\",\"2023-01-21T00:00:00\",\"2021-12-12T00:00:00\",\"2020-02-10T00:00:00\",\"2019-11-13T00:00:00\",\"2019-11-11T00:00:00\",\"2023-01-25T00:00:00\",\"2020-03-23T00:00:00\",\"2020-03-22T00:00:00\",\"2020-06-24T00:00:00\",\"2021-01-06T00:00:00\",\"2022-09-12T00:00:00\",\"2020-01-09T00:00:00\",\"2020-01-10T00:00:00\",\"2021-07-06T00:00:00\",\"2020-02-20T00:00:00\",\"2022-04-01T00:00:00\",\"2021-05-05T00:00:00\",\"2022-05-23T00:00:00\",\"2022-01-30T00:00:00\",\"2023-03-12T00:00:00\",\"2022-03-24T00:00:00\",\"2022-04-25T00:00:00\",\"2023-05-11T00:00:00\"],\"xaxis\":\"x\",\"y\":[4,1,1,1,0,0,0,1,2,1,0,5,0,1,0,1,0,2,4,1,3,2,0,0,0,1,1,1,0,1,0],\"yaxis\":\"y\",\"type\":\"scatter\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"ErstellungsDatum\"},\"tickformat\":\"%B\\n%Y\"},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"delta\"},\"dtick\":1},\"legend\":{\"tracegroupgap\":0},\"margin\":{\"t\":60},\"hovermode\":\"x unified\"}, {\"responsive\": true} ).then(function(){\n",
|
||
" \n",
|
||
"var gd = document.getElementById('1eafb9c2-4e4a-48cd-b91e-877cbaf8763e');\n",
|
||
"var x = new MutationObserver(function (mutations, observer) {{\n",
|
||
" var display = window.getComputedStyle(gd).display;\n",
|
||
" if (!display || display === 'none') {{\n",
|
||
" console.log([gd, 'removed!']);\n",
|
||
" Plotly.purge(gd);\n",
|
||
" observer.disconnect();\n",
|
||
" }}\n",
|
||
"}});\n",
|
||
"\n",
|
||
"// Listen for the removal of the full notebook cells\n",
|
||
"var notebookContainer = gd.closest('#notebook-container');\n",
|
||
"if (notebookContainer) {{\n",
|
||
" x.observe(notebookContainer, {childList: true});\n",
|
||
"}}\n",
|
||
"\n",
|
||
"// Listen for the clearing of the current output cell\n",
|
||
"var outputEl = gd.closest('.output');\n",
|
||
"if (outputEl) {{\n",
|
||
" x.observe(outputEl, {childList: true});\n",
|
||
"}}\n",
|
||
"\n",
|
||
" }) }; }); </script> </div>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = px.scatter(filtered, x='ErstellungsDatum', y='delta', hover_data=HOVER_DATA_DELTA)\n",
|
||
"#fig = px.timeline(filtered, x_start='ErstellungsDatum', x_end='ErledigungsDatum', y='VorgangsID')\n",
|
||
"fig.update_traces(marker=MARKERS)\n",
|
||
"fig.update_xaxes(tickformat='%B\\n%Y')\n",
|
||
"#fig.update_yaxes(type='category')\n",
|
||
"fig.update_yaxes(dtick=1)\n",
|
||
"fig.update_layout(hovermode='x unified')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 129,
|
||
"id": "cd71b556-592d-4c7e-a401-a66358b3e802",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"scatt = go.Scatter(x=filtered['ErstellungsDatum'], y=filtered['delta'])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "aad3c784-363a-4355-b6e0-3d9caed46bc2",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"scatt.update"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 130,
|
||
"id": "83ff5f68-5bbc-4c5e-aace-c19152ba61cb",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.plotly.v1+json": {
|
||
"config": {
|
||
"plotlyServerURL": "https://plot.ly"
|
||
},
|
||
"data": [
|
||
{
|
||
"type": "scatter",
|
||
"x": [
|
||
"2020-12-10T00:00:00",
|
||
"2021-12-16T00:00:00",
|
||
"2022-06-21T00:00:00",
|
||
"2022-12-12T00:00:00",
|
||
"2022-02-03T00:00:00",
|
||
"2022-03-28T00:00:00",
|
||
"2022-01-26T00:00:00",
|
||
"2021-12-15T00:00:00",
|
||
"2023-01-21T00:00:00",
|
||
"2021-12-12T00:00:00",
|
||
"2020-02-10T00:00:00",
|
||
"2019-11-13T00:00:00",
|
||
"2019-11-11T00:00:00",
|
||
"2023-01-25T00:00:00",
|
||
"2020-03-23T00:00:00",
|
||
"2020-03-22T00:00:00",
|
||
"2020-06-24T00:00:00",
|
||
"2021-01-06T00:00:00",
|
||
"2022-09-12T00:00:00",
|
||
"2020-01-09T00:00:00",
|
||
"2020-01-10T00:00:00",
|
||
"2021-07-06T00:00:00",
|
||
"2020-02-20T00:00:00",
|
||
"2022-04-01T00:00:00",
|
||
"2021-05-05T00:00:00",
|
||
"2022-05-23T00:00:00",
|
||
"2022-01-30T00:00:00",
|
||
"2023-03-12T00:00:00",
|
||
"2022-03-24T00:00:00",
|
||
"2022-04-25T00:00:00",
|
||
"2023-05-11T00:00:00"
|
||
],
|
||
"y": [
|
||
4,
|
||
1,
|
||
1,
|
||
1,
|
||
0,
|
||
0,
|
||
0,
|
||
1,
|
||
2,
|
||
1,
|
||
0,
|
||
5,
|
||
0,
|
||
1,
|
||
0,
|
||
1,
|
||
0,
|
||
2,
|
||
4,
|
||
1,
|
||
3,
|
||
2,
|
||
0,
|
||
0,
|
||
0,
|
||
1,
|
||
1,
|
||
1,
|
||
0,
|
||
1,
|
||
0
|
||
]
|
||
}
|
||
],
|
||
"layout": {
|
||
"autosize": true,
|
||
"template": {
|
||
"data": {
|
||
"bar": [
|
||
{
|
||
"error_x": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"error_y": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"marker": {
|
||
"line": {
|
||
"color": "#E5ECF6",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "bar"
|
||
}
|
||
],
|
||
"barpolar": [
|
||
{
|
||
"marker": {
|
||
"line": {
|
||
"color": "#E5ECF6",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "barpolar"
|
||
}
|
||
],
|
||
"carpet": [
|
||
{
|
||
"aaxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"minorgridcolor": "white",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"baxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"minorgridcolor": "white",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"type": "carpet"
|
||
}
|
||
],
|
||
"choropleth": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "choropleth"
|
||
}
|
||
],
|
||
"contour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "contour"
|
||
}
|
||
],
|
||
"contourcarpet": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "contourcarpet"
|
||
}
|
||
],
|
||
"heatmap": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "heatmap"
|
||
}
|
||
],
|
||
"heatmapgl": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "heatmapgl"
|
||
}
|
||
],
|
||
"histogram": [
|
||
{
|
||
"marker": {
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "histogram"
|
||
}
|
||
],
|
||
"histogram2d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2d"
|
||
}
|
||
],
|
||
"histogram2dcontour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2dcontour"
|
||
}
|
||
],
|
||
"mesh3d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "mesh3d"
|
||
}
|
||
],
|
||
"parcoords": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "parcoords"
|
||
}
|
||
],
|
||
"pie": [
|
||
{
|
||
"automargin": true,
|
||
"type": "pie"
|
||
}
|
||
],
|
||
"scatter": [
|
||
{
|
||
"fillpattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
},
|
||
"type": "scatter"
|
||
}
|
||
],
|
||
"scatter3d": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatter3d"
|
||
}
|
||
],
|
||
"scattercarpet": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattercarpet"
|
||
}
|
||
],
|
||
"scattergeo": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergeo"
|
||
}
|
||
],
|
||
"scattergl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergl"
|
||
}
|
||
],
|
||
"scattermapbox": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattermapbox"
|
||
}
|
||
],
|
||
"scatterpolar": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolar"
|
||
}
|
||
],
|
||
"scatterpolargl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolargl"
|
||
}
|
||
],
|
||
"scatterternary": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterternary"
|
||
}
|
||
],
|
||
"surface": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "surface"
|
||
}
|
||
],
|
||
"table": [
|
||
{
|
||
"cells": {
|
||
"fill": {
|
||
"color": "#EBF0F8"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"header": {
|
||
"fill": {
|
||
"color": "#C8D4E3"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"type": "table"
|
||
}
|
||
]
|
||
},
|
||
"layout": {
|
||
"annotationdefaults": {
|
||
"arrowcolor": "#2a3f5f",
|
||
"arrowhead": 0,
|
||
"arrowwidth": 1
|
||
},
|
||
"autotypenumbers": "strict",
|
||
"coloraxis": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"colorscale": {
|
||
"diverging": [
|
||
[
|
||
0,
|
||
"#8e0152"
|
||
],
|
||
[
|
||
0.1,
|
||
"#c51b7d"
|
||
],
|
||
[
|
||
0.2,
|
||
"#de77ae"
|
||
],
|
||
[
|
||
0.3,
|
||
"#f1b6da"
|
||
],
|
||
[
|
||
0.4,
|
||
"#fde0ef"
|
||
],
|
||
[
|
||
0.5,
|
||
"#f7f7f7"
|
||
],
|
||
[
|
||
0.6,
|
||
"#e6f5d0"
|
||
],
|
||
[
|
||
0.7,
|
||
"#b8e186"
|
||
],
|
||
[
|
||
0.8,
|
||
"#7fbc41"
|
||
],
|
||
[
|
||
0.9,
|
||
"#4d9221"
|
||
],
|
||
[
|
||
1,
|
||
"#276419"
|
||
]
|
||
],
|
||
"sequential": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"sequentialminus": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
]
|
||
},
|
||
"colorway": [
|
||
"#636efa",
|
||
"#EF553B",
|
||
"#00cc96",
|
||
"#ab63fa",
|
||
"#FFA15A",
|
||
"#19d3f3",
|
||
"#FF6692",
|
||
"#B6E880",
|
||
"#FF97FF",
|
||
"#FECB52"
|
||
],
|
||
"font": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"geo": {
|
||
"bgcolor": "white",
|
||
"lakecolor": "white",
|
||
"landcolor": "#E5ECF6",
|
||
"showlakes": true,
|
||
"showland": true,
|
||
"subunitcolor": "white"
|
||
},
|
||
"hoverlabel": {
|
||
"align": "left"
|
||
},
|
||
"hovermode": "closest",
|
||
"mapbox": {
|
||
"style": "light"
|
||
},
|
||
"paper_bgcolor": "white",
|
||
"plot_bgcolor": "#E5ECF6",
|
||
"polar": {
|
||
"angularaxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "#E5ECF6",
|
||
"radialaxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"scene": {
|
||
"xaxis": {
|
||
"backgroundcolor": "#E5ECF6",
|
||
"gridcolor": "white",
|
||
"gridwidth": 2,
|
||
"linecolor": "white",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "white"
|
||
},
|
||
"yaxis": {
|
||
"backgroundcolor": "#E5ECF6",
|
||
"gridcolor": "white",
|
||
"gridwidth": 2,
|
||
"linecolor": "white",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "white"
|
||
},
|
||
"zaxis": {
|
||
"backgroundcolor": "#E5ECF6",
|
||
"gridcolor": "white",
|
||
"gridwidth": 2,
|
||
"linecolor": "white",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "white"
|
||
}
|
||
},
|
||
"shapedefaults": {
|
||
"line": {
|
||
"color": "#2a3f5f"
|
||
}
|
||
},
|
||
"ternary": {
|
||
"aaxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
},
|
||
"baxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "#E5ECF6",
|
||
"caxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"title": {
|
||
"x": 0.05
|
||
},
|
||
"xaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "white",
|
||
"zerolinewidth": 2
|
||
},
|
||
"yaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "white",
|
||
"zerolinewidth": 2
|
||
}
|
||
}
|
||
},
|
||
"xaxis": {
|
||
"autorange": true,
|
||
"range": [
|
||
"2019-11-11",
|
||
"2023-05-11"
|
||
],
|
||
"type": "date"
|
||
},
|
||
"yaxis": {
|
||
"autorange": true,
|
||
"range": [
|
||
-0.2777777777777778,
|
||
5.277777777777778
|
||
],
|
||
"type": "linear"
|
||
}
|
||
}
|
||
},
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA/YAAAFoCAYAAAD962BOAAAAAXNSR0IArs4c6QAAIABJREFUeF7svQeYJFd57/2v6tnZNLM7caNyDivt7uyuhCJCZINJxtgySWQQFqCIhDDpMxYGEWz8YWNsX997bWPjBNcY25ckRJDRZuUsBNKmyTu7szuhq77vf073zOxopqe6T1V3Vc//PM8+m6pOn/q91dP9q/Oe93hhGIZQEwEREAEREAEREAEREAEREAEREAERyCQBT2Kfybhp0CIgAiIgAiIgAiIgAiIgAiIgAiJgCEjsdSOIgAiIgAiIgAiIgAiIgAiIgAiIQIYJSOwzHDwNXQREQAREQAREQAREQAREQAREQAQk9roHREAEREAEREAEREAEREAEREAERCDDBCT2GQ6ehi4CIiACIiACIiACIiACIiACIiACEnvdAyIgAiIgAiIgAiIgAiIgAiIgAiKQYQIS+wwHT0MXAREQAREQAREQAREQAREQAREQAYm97gEREAEREAEREAEREAEREAEREAERyDABiX2Gg6ehi4AIiIAIiIAIiIAIiIAIiIAIiIDEXveACIiACIiACIiACIiACIiACIiACGSYgMQ+w8HT0EVABERABERABERABERABERABERAYq97QAREQAREQAREQAREQAREQAREQAQyTEBin+HgaegiIAIiIAIiIAIiIAIiIAIiIAIiILHXPSACIiACIiACIiACIiACIiACIiACGSYgsc9w8DR0ERABERABERABERABERABERABEZDY6x4QAREQAREQAREQAREQAREQAREQgQwTkNhnOHgaugiIgAiIgAiIgAiIgAiIgAiIgAhI7HUPiIAIiIAIiIAIiIAIiIAIiIAIiECGCUjsMxw8DV0EREAEREAEREAEREAEREAEREAEJPa6B0RABERABERABERABERABERABEQgwwQk9hkOnoYuAiIgAiIgAiIgAiIgAiIgAiIgAhJ73QMiIAIiIAIiIAIiIAIiIAIiIAIikGECEvsMB09DFwEREAEREAEREAEREAEREAEREAGJve4BERABERABERABERABERABERABEcgwAYl9hoOnoYuACIiACIiACIiACIiACIiACIiAxF73gAiIgAiIgAiIgAiIgAiIgAiIgAhkmIDEPsPB09BFQAREQAREQAREQAREQAREQAREQGKve0AEREAEREAEREAEREAEREAEREAEMkxAYp/h4GnoIiACIiACIiACIiACIiACIiACIiCx1z0gAiIgAiIgAiIgAiIgAiIgAiIgAhkmILHPcPA0dBEQAREQAREQAREQAREQAREQARGQ2OseEAEREAEREAEREAEREAEREAEREIEME5DYZzh4GroIiIAIiIAIiIAIiIAIiIAIiIAISOx1D4iACIiACIiACIiACIiACIiACIhAhglI7DMcPA1dBERABERABERABERABERABERABCT2ugdEQAREQAREQAREQAREQAREQAREIMMEJPYZDp6GLgIiIAIiIAIiIAIiIAIiIAIiIAISe90DIiACIiACIiACIiACIiACIiACIpBhAhL7DAdPQxcBERABERABERABERABERABERABib3uAREQAREQAREQAREQAREQAREQARHIMAGJfYaDp6GLgAiIgAiIgAiIgAiIgAiIgAiIgMRe94AIiIAIiIAIiIAIiIAIiIAIiIAIZJiAxD7DwdPQRUAEREAEREAEREAEREAEREAEREBir3tABERABERABERABERABERABERABDJMQGKf4eBp6CIgAiIgAiIgAiIgAiIgAiIgAiIgsdc9IAIiIAIiIAIiIAIiIAIiIAIiIAIZJiCxz3DwNHQREAEREAEREAEREAEREAEREAERkNjrHhABERABERABERABERABERABERCBDBOQ2Gc4eBq6CIiACIiACIiACIiACIiACIiACEjsdQ+IgAiIgAiIgAiIgAiIgAiIgAiIQIYJSOwzHDwNXQREQAREQAREQAREQAREQAREQAQk9roHREAEREAEREAEREAEREAEREAERCDDBCT2GQ6ehi4CIiACIiACIiACIiACIiACIiACEnvdAyIgAiIgAiIgAiIgAiIgAiIgAiKQYQIS+wwHT0MXAREQAREQAREQAREQAREQAREQAYm97gEREAEREAEREAEREAEREAEREAERyDABiX2Gg6ehi4AIiIAIiIAIiIAIiIAIiIAIiIDEXveACIiACIiACIiACIiACIiACIiACGSYgMQ+w8HT0EVABERABERABERABERABERABERAYq97QAREQAREQAREQAREQAREQAREQAQyTEBin+HgaegiIAIiIAIiIAIiIAIiIAIiIAIiILHXPSACIiACIiACIiACIiACIiACIiACGSYgsc9w8DR0ERABERABERABERABERABERABEZDY6x4QAREQAREQAREQAREQAREQAREQgQwTkNhnOHgaugiIgAiIgAiIgAiIgAiIgAiIgAhI7HUPiIAIiIAIiIAIiIAIiIAIiIAIiECGCUjsMxw8DV0EREAEREAEREAEREAEREAEREAEJPa6B0RABERABERABERABERABERABEQgwwQk9hkOnoYuAiIgAiIgAiIgAiIgAiIgAiIgAhJ73QMiIAIiIAIiIAIiIAIiIAIiIAIikGECEvsMB09DFwEREAEREAEREAEREAEREAEREAGJve4BERABERABERABERABERABERABEcgwAYl9hoOnoYuACIiACIiACIiACIiACIiACIiAxF73gAiIgAiIgAiIgAiIgAiIgAiIgAhkmIDEPsPB09BFQAREQAREQAREQAREQAREQAREQGKve0AEREAEREAEREAEREAEREAEREAEMkxAYp/h4GnoIiACIiACIiACIiACIiACIiACIiCx1z0gAiIgAiIgAiIgAiIgAiIgAiIgAhkmILHPcPA0dBEQAREQAREQAREQAREQAREQARGQ2OseEAEREAEREAEREAEREAEREAEREIEME5DYZzh4GroIiIAIiIAIiIAIiIAIiIAIiIAISOx1D4iACIiACIiACIiACIiACIiACIhAhglI7DMcPA1dBERABERABERABERABERABERABCT2ugdEQAREQAREQAREQAREQAREQAREIMMEJPYZDp6GLgIiIAIiIAIiIAIiIAIiIAIiIAISe90DIiACIiACIiACIiACIiACIiACIpBhAhL7DAdPQxcBERABERABERABERABERABERABib3uAREQAREQAREQAREQAREQAREQARHIMAGJfYaDp6GLgAiIgAiIgAiIgAiIgAiIgAiIgMRe94AIiIAIiIAIiIAIiIAIiIAIiIAIZJiAxD7DwdPQRUAEREAEREAEREAEREAEREAEREBir3tABERABERABERABERABERABERABDJMQGKf4eBp6CIgAiIgAiIgAiIgAiIgAiIgAiIgsdc9IAIiIAIiIAIiIAIiIAIiIAIiIAIZJiCxz3DwNHQREAEREAEREAEREAEREAEREAERkNjrHhABERABERABERABERABERABERCBDBOQ2Gc4eBq6CIiA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L/HgcdNJgARIgARIgARIgARIgARIgARIgMKexwAJkAAJkAAJkAAJkAAJkAAJkAAJlJgAhX2JB4+bTgIkQAIkQAIkQAIkQAIkQAIkQAIU9jwGSIAESIAESIAESIAESIAESIAESKDEBCjsSzx43HQSIAESIAESIAESIAESIAESIAESoLDnMUACJEACJEACJEACJEACJEACJEACJSZAYV/iweOmkwAJkAAJkAAJkAAJkAAJkAAJkACFPY8BEiABEiABEiABEiABEiABEiABEigxAQr7Eg8eN50ESIAESIAESIAESIAESIAESIAEKOx5DJAACZAACZAACZAACZAACZAACZBAiQlQ2Jd48LjpJEACJEACJEACJEACJEACJEACJEBhz2OABEiABEiABEiABEiABEiABEiABEpMgMK+xIPHTScBEiABEiABEiABEiABEiABEiABCnseAyRAAiRAAiRAAiRAAiRAAiRAAiRQYgIU9iUePG46CZAACZAACZAACZAACZAACZAACVDY8xggARIgARIgARIgARIgARIgARIggRIToLAv8eBx00mABEiABEiABEiABEiABEiABEiAwp7HAAmQAAmQAAmQAAmQAAmQAAmQAAmUmACFfYkHj5tOAiRAAiRAAiRAAiRAAiRAAiRAAhT2PAZIgARIgARIgARIgARIgARIgARIoMQEKOxLPHjcdBIgARIgARIgARIgARIgARIgARKgsOcxQAIkQAIkQAIkQAIkQAIkQAIkQAIlJkBhX+LB46aTAAmQAAmQAAmQAAmQAAmQAAmQAIU9jwESIAESIAESIAESIAESIAESIAESKDEBCvsSDx43nQRIgARIgARIgARIgARIgARIgAQo7HkMkAAJkAAJkAAJkAAJkAAJkAAJkECJCVDYl3jwuOkkQAIkQAIkQAIkQAIkQAIkQAIkQGHPY4AESIAESIAESIAESIAESIAESIAESkyAwr7Eg8dNJwESIAESIAESIAESIAESIAESIAEKex4DJEACJEACJEACJEACJEACJEACJFBiAhT2JR48bjoJkAAJkAAJkAAJkAAJkAAJkAAJUNjzGCABEiABEiABEiABEiABEiABEiCBEhOgsC/x4HHTSYAESIAESIAESIAESIAESIAESIDCnscACZAACZAACZAACZAACZAACZAACZSYAIV9iQePm04CJEACJEACJEACJEACJEACJEACFPY8BkiABEiABEiABEiABEiABEiABEigxAQo7Es8eNx0EiABEiABEiABEiABEiABEiABEqCw5zFAAiRAAiRAAiRAAiRAAiRAAiRAAiUmQGFf4sHjppMACZAACZAACZAACZAACZAACZAAhT2PARIgARIgARIgARIgARIgARIgARIoMQEK+xIPHjedBEiABEiABEiABEiABEiABEiABCjseQyQAAmQAAmQAAmQAAmQAAmQAAmQQIkJUNiXePC46SRAAiRAAiRAAiRAAiRAAiRAAiRAYc9jgARIgARIgARIgARIgARIgARIgARKTIDCvsSDx00nARIgARIgARIgARIgARIgARIgAQp7HgMkQAIkQAIkQAIkQAIkQAIkQAIkUGICFPYlHjxuOgmQAAmQAAmQAAmQAAmQAAmQAAlQ2PMYIAESIAESIAESIAESIAESIAESIIESE6CwL/HgcdNJgARIgARIgARIgARIgARIgARIgMKexwAJkAAJkAAJkAAJkAAJkAAJkAAJlJgAhX2JB4+bTgIkQAIkQAIkQAIkQAIkQAIkQAIU9jwGSIAESIAESIAESIAESIAESIAESKDEBCjsSzx43HQSIAESIAESIAESIAESIAESIAESoLDnMUACJEACJEACJEACJEACJEACJEACJSZAYV/iweOmkwAJkAAJkAAJkAAJkAAJkAAJkACFPY8BEiABEiABEiABEiABEiABEiABEigxAQr7Eg8eN50ESIAESIAESIAESIAESIAESIAEKOx5DJAACZAACZAACZAACZAACZAACZBAiQlQ2Jd48LjpJEACJEACJEACJEACJEACJEACJEBhz2OABEiABEiABEiABEiABEiABEiABEpMgMK+xIPHTScBEiABEiABEiABEiABEiABEiABCnseAyRAAiRAAiRAAiRAAiRAAiRAAiRQYgIU9iUePG46CZAACZAACZAACZAACZAACZAACVDY8xggARIgARIgARIgARIgARIgARIggRIToLAv8eBx00mABEiABEiABEiABEiABEiABEiAwp7HAAmQAAmQAAmQAAmQAAmQAAmQAAmUmMB/AEAHQWm2kvxfAAAAAElFTkSuQmCC",
|
||
"text/html": [
|
||
"<div> <div id=\"75527243-657d-47a2-ba3d-1a7b6e8ddf86\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"75527243-657d-47a2-ba3d-1a7b6e8ddf86\")) { Plotly.newPlot( \"75527243-657d-47a2-ba3d-1a7b6e8ddf86\", [{\"x\":[\"2020-12-10T00:00:00\",\"2021-12-16T00:00:00\",\"2022-06-21T00:00:00\",\"2022-12-12T00:00:00\",\"2022-02-03T00:00:00\",\"2022-03-28T00:00:00\",\"2022-01-26T00:00:00\",\"2021-12-15T00:00:00\",\"2023-01-21T00:00:00\",\"2021-12-12T00:00:00\",\"2020-02-10T00:00:00\",\"2019-11-13T00:00:00\",\"2019-11-11T00:00:00\",\"2023-01-25T00:00:00\",\"2020-03-23T00:00:00\",\"2020-03-22T00:00:00\",\"2020-06-24T00:00:00\",\"2021-01-06T00:00:00\",\"2022-09-12T00:00:00\",\"2020-01-09T00:00:00\",\"2020-01-10T00:00:00\",\"2021-07-06T00:00:00\",\"2020-02-20T00:00:00\",\"2022-04-01T00:00:00\",\"2021-05-05T00:00:00\",\"2022-05-23T00:00:00\",\"2022-01-30T00:00:00\",\"2023-03-12T00:00:00\",\"2022-03-24T00:00:00\",\"2022-04-25T00:00:00\",\"2023-05-11T00:00:00\"],\"y\":[4,1,1,1,0,0,0,1,2,1,0,5,0,1,0,1,0,2,4,1,3,2,0,0,0,1,1,1,0,1,0],\"type\":\"scatter\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}}}, {\"responsive\": true} ).then(function(){\n",
|
||
" \n",
|
||
"var gd = document.getElementById('75527243-657d-47a2-ba3d-1a7b6e8ddf86');\n",
|
||
"var x = new MutationObserver(function (mutations, observer) {{\n",
|
||
" var display = window.getComputedStyle(gd).display;\n",
|
||
" if (!display || display === 'none') {{\n",
|
||
" console.log([gd, 'removed!']);\n",
|
||
" Plotly.purge(gd);\n",
|
||
" observer.disconnect();\n",
|
||
" }}\n",
|
||
"}});\n",
|
||
"\n",
|
||
"// Listen for the removal of the full notebook cells\n",
|
||
"var notebookContainer = gd.closest('#notebook-container');\n",
|
||
"if (notebookContainer) {{\n",
|
||
" x.observe(notebookContainer, {childList: true});\n",
|
||
"}}\n",
|
||
"\n",
|
||
"// Listen for the clearing of the current output cell\n",
|
||
"var outputEl = gd.closest('.output');\n",
|
||
"if (outputEl) {{\n",
|
||
" x.observe(outputEl, {childList: true});\n",
|
||
"}}\n",
|
||
"\n",
|
||
" }) }; }); </script> </div>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = go.Figure()\n",
|
||
"fig.add_trace(scatt)\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "6825ed5b-3800-4fb7-8ba7-ea4fd6a846eb",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 117,
|
||
"id": "06841e37-df70-4d59-8883-2d11161ab47c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.plotly.v1+json": {
|
||
"config": {
|
||
"plotlyServerURL": "https://plot.ly"
|
||
},
|
||
"data": [
|
||
{
|
||
"alignmentgroup": "True",
|
||
"base": [
|
||
"2020-12-10T00:00:00",
|
||
"2021-12-16T00:00:00",
|
||
"2022-06-21T00:00:00",
|
||
"2022-12-12T00:00:00",
|
||
"2022-02-03T00:00:00",
|
||
"2022-03-28T00:00:00",
|
||
"2022-01-26T00:00:00",
|
||
"2021-12-15T00:00:00",
|
||
"2023-01-21T00:00:00",
|
||
"2021-12-12T00:00:00",
|
||
"2020-02-10T00:00:00",
|
||
"2019-11-13T00:00:00",
|
||
"2019-11-11T00:00:00",
|
||
"2023-01-25T00:00:00",
|
||
"2020-03-23T00:00:00",
|
||
"2020-03-22T00:00:00",
|
||
"2020-06-24T00:00:00",
|
||
"2021-01-06T00:00:00",
|
||
"2022-09-12T00:00:00",
|
||
"2020-01-09T00:00:00",
|
||
"2020-01-10T00:00:00",
|
||
"2021-07-06T00:00:00",
|
||
"2020-02-20T00:00:00",
|
||
"2022-04-01T00:00:00",
|
||
"2021-05-05T00:00:00",
|
||
"2022-05-23T00:00:00",
|
||
"2022-01-30T00:00:00",
|
||
"2023-03-12T00:00:00",
|
||
"2022-03-24T00:00:00",
|
||
"2022-04-25T00:00:00",
|
||
"2023-05-11T00:00:00"
|
||
],
|
||
"hovertemplate": "ErstellungsDatum=%{base}<br>ErledigungsDatum=%{x}<br>VorgangsID=%{y}<extra></extra>",
|
||
"legendgroup": "",
|
||
"marker": {
|
||
"color": "#636efa",
|
||
"pattern": {
|
||
"shape": ""
|
||
}
|
||
},
|
||
"name": "",
|
||
"offsetgroup": "",
|
||
"orientation": "h",
|
||
"showlegend": false,
|
||
"textposition": "auto",
|
||
"type": "bar",
|
||
"x": [
|
||
345600000,
|
||
86400000,
|
||
86400000,
|
||
86400000,
|
||
0,
|
||
0,
|
||
0,
|
||
86400000,
|
||
172800000,
|
||
86400000,
|
||
0,
|
||
432000000,
|
||
0,
|
||
86400000,
|
||
0,
|
||
86400000,
|
||
0,
|
||
172800000,
|
||
345600000,
|
||
86400000,
|
||
259200000,
|
||
172800000,
|
||
0,
|
||
0,
|
||
0,
|
||
86400000,
|
||
86400000,
|
||
86400000,
|
||
0,
|
||
86400000,
|
||
0
|
||
],
|
||
"xaxis": "x",
|
||
"y": [
|
||
70133,
|
||
146532,
|
||
260631,
|
||
496050,
|
||
149786,
|
||
246447,
|
||
149582,
|
||
146522,
|
||
508696,
|
||
146448,
|
||
35177,
|
||
20810,
|
||
20794,
|
||
508973,
|
||
38567,
|
||
38566,
|
||
46602,
|
||
92682,
|
||
273263,
|
||
30320,
|
||
30347,
|
||
133495,
|
||
35862,
|
||
246860,
|
||
123784,
|
||
259615,
|
||
149651,
|
||
518785,
|
||
246256,
|
||
254123,
|
||
531578
|
||
],
|
||
"yaxis": "y"
|
||
}
|
||
],
|
||
"layout": {
|
||
"autosize": true,
|
||
"barmode": "overlay",
|
||
"legend": {
|
||
"tracegroupgap": 0
|
||
},
|
||
"margin": {
|
||
"t": 60
|
||
},
|
||
"template": {
|
||
"data": {
|
||
"bar": [
|
||
{
|
||
"error_x": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"error_y": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"marker": {
|
||
"line": {
|
||
"color": "#E5ECF6",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "bar"
|
||
}
|
||
],
|
||
"barpolar": [
|
||
{
|
||
"marker": {
|
||
"line": {
|
||
"color": "#E5ECF6",
|
||
"width": 0.5
|
||
},
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "barpolar"
|
||
}
|
||
],
|
||
"carpet": [
|
||
{
|
||
"aaxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"minorgridcolor": "white",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"baxis": {
|
||
"endlinecolor": "#2a3f5f",
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"minorgridcolor": "white",
|
||
"startlinecolor": "#2a3f5f"
|
||
},
|
||
"type": "carpet"
|
||
}
|
||
],
|
||
"choropleth": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "choropleth"
|
||
}
|
||
],
|
||
"contour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "contour"
|
||
}
|
||
],
|
||
"contourcarpet": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "contourcarpet"
|
||
}
|
||
],
|
||
"heatmap": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "heatmap"
|
||
}
|
||
],
|
||
"heatmapgl": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "heatmapgl"
|
||
}
|
||
],
|
||
"histogram": [
|
||
{
|
||
"marker": {
|
||
"pattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
}
|
||
},
|
||
"type": "histogram"
|
||
}
|
||
],
|
||
"histogram2d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2d"
|
||
}
|
||
],
|
||
"histogram2dcontour": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "histogram2dcontour"
|
||
}
|
||
],
|
||
"mesh3d": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"type": "mesh3d"
|
||
}
|
||
],
|
||
"parcoords": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "parcoords"
|
||
}
|
||
],
|
||
"pie": [
|
||
{
|
||
"automargin": true,
|
||
"type": "pie"
|
||
}
|
||
],
|
||
"scatter": [
|
||
{
|
||
"fillpattern": {
|
||
"fillmode": "overlay",
|
||
"size": 10,
|
||
"solidity": 0.2
|
||
},
|
||
"type": "scatter"
|
||
}
|
||
],
|
||
"scatter3d": [
|
||
{
|
||
"line": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatter3d"
|
||
}
|
||
],
|
||
"scattercarpet": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattercarpet"
|
||
}
|
||
],
|
||
"scattergeo": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergeo"
|
||
}
|
||
],
|
||
"scattergl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattergl"
|
||
}
|
||
],
|
||
"scattermapbox": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scattermapbox"
|
||
}
|
||
],
|
||
"scatterpolar": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolar"
|
||
}
|
||
],
|
||
"scatterpolargl": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterpolargl"
|
||
}
|
||
],
|
||
"scatterternary": [
|
||
{
|
||
"marker": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"type": "scatterternary"
|
||
}
|
||
],
|
||
"surface": [
|
||
{
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
},
|
||
"colorscale": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"type": "surface"
|
||
}
|
||
],
|
||
"table": [
|
||
{
|
||
"cells": {
|
||
"fill": {
|
||
"color": "#EBF0F8"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"header": {
|
||
"fill": {
|
||
"color": "#C8D4E3"
|
||
},
|
||
"line": {
|
||
"color": "white"
|
||
}
|
||
},
|
||
"type": "table"
|
||
}
|
||
]
|
||
},
|
||
"layout": {
|
||
"annotationdefaults": {
|
||
"arrowcolor": "#2a3f5f",
|
||
"arrowhead": 0,
|
||
"arrowwidth": 1
|
||
},
|
||
"autotypenumbers": "strict",
|
||
"coloraxis": {
|
||
"colorbar": {
|
||
"outlinewidth": 0,
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"colorscale": {
|
||
"diverging": [
|
||
[
|
||
0,
|
||
"#8e0152"
|
||
],
|
||
[
|
||
0.1,
|
||
"#c51b7d"
|
||
],
|
||
[
|
||
0.2,
|
||
"#de77ae"
|
||
],
|
||
[
|
||
0.3,
|
||
"#f1b6da"
|
||
],
|
||
[
|
||
0.4,
|
||
"#fde0ef"
|
||
],
|
||
[
|
||
0.5,
|
||
"#f7f7f7"
|
||
],
|
||
[
|
||
0.6,
|
||
"#e6f5d0"
|
||
],
|
||
[
|
||
0.7,
|
||
"#b8e186"
|
||
],
|
||
[
|
||
0.8,
|
||
"#7fbc41"
|
||
],
|
||
[
|
||
0.9,
|
||
"#4d9221"
|
||
],
|
||
[
|
||
1,
|
||
"#276419"
|
||
]
|
||
],
|
||
"sequential": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
],
|
||
"sequentialminus": [
|
||
[
|
||
0,
|
||
"#0d0887"
|
||
],
|
||
[
|
||
0.1111111111111111,
|
||
"#46039f"
|
||
],
|
||
[
|
||
0.2222222222222222,
|
||
"#7201a8"
|
||
],
|
||
[
|
||
0.3333333333333333,
|
||
"#9c179e"
|
||
],
|
||
[
|
||
0.4444444444444444,
|
||
"#bd3786"
|
||
],
|
||
[
|
||
0.5555555555555556,
|
||
"#d8576b"
|
||
],
|
||
[
|
||
0.6666666666666666,
|
||
"#ed7953"
|
||
],
|
||
[
|
||
0.7777777777777778,
|
||
"#fb9f3a"
|
||
],
|
||
[
|
||
0.8888888888888888,
|
||
"#fdca26"
|
||
],
|
||
[
|
||
1,
|
||
"#f0f921"
|
||
]
|
||
]
|
||
},
|
||
"colorway": [
|
||
"#636efa",
|
||
"#EF553B",
|
||
"#00cc96",
|
||
"#ab63fa",
|
||
"#FFA15A",
|
||
"#19d3f3",
|
||
"#FF6692",
|
||
"#B6E880",
|
||
"#FF97FF",
|
||
"#FECB52"
|
||
],
|
||
"font": {
|
||
"color": "#2a3f5f"
|
||
},
|
||
"geo": {
|
||
"bgcolor": "white",
|
||
"lakecolor": "white",
|
||
"landcolor": "#E5ECF6",
|
||
"showlakes": true,
|
||
"showland": true,
|
||
"subunitcolor": "white"
|
||
},
|
||
"hoverlabel": {
|
||
"align": "left"
|
||
},
|
||
"hovermode": "closest",
|
||
"mapbox": {
|
||
"style": "light"
|
||
},
|
||
"paper_bgcolor": "white",
|
||
"plot_bgcolor": "#E5ECF6",
|
||
"polar": {
|
||
"angularaxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "#E5ECF6",
|
||
"radialaxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"scene": {
|
||
"xaxis": {
|
||
"backgroundcolor": "#E5ECF6",
|
||
"gridcolor": "white",
|
||
"gridwidth": 2,
|
||
"linecolor": "white",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "white"
|
||
},
|
||
"yaxis": {
|
||
"backgroundcolor": "#E5ECF6",
|
||
"gridcolor": "white",
|
||
"gridwidth": 2,
|
||
"linecolor": "white",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "white"
|
||
},
|
||
"zaxis": {
|
||
"backgroundcolor": "#E5ECF6",
|
||
"gridcolor": "white",
|
||
"gridwidth": 2,
|
||
"linecolor": "white",
|
||
"showbackground": true,
|
||
"ticks": "",
|
||
"zerolinecolor": "white"
|
||
}
|
||
},
|
||
"shapedefaults": {
|
||
"line": {
|
||
"color": "#2a3f5f"
|
||
}
|
||
},
|
||
"ternary": {
|
||
"aaxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
},
|
||
"baxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
},
|
||
"bgcolor": "#E5ECF6",
|
||
"caxis": {
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": ""
|
||
}
|
||
},
|
||
"title": {
|
||
"x": 0.05
|
||
},
|
||
"xaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "white",
|
||
"zerolinewidth": 2
|
||
},
|
||
"yaxis": {
|
||
"automargin": true,
|
||
"gridcolor": "white",
|
||
"linecolor": "white",
|
||
"ticks": "",
|
||
"title": {
|
||
"standoff": 15
|
||
},
|
||
"zerolinecolor": "white",
|
||
"zerolinewidth": 2
|
||
}
|
||
}
|
||
},
|
||
"xaxis": {
|
||
"anchor": "y",
|
||
"autorange": true,
|
||
"domain": [
|
||
0,
|
||
1
|
||
],
|
||
"range": [
|
||
"2019-09-01 01:20",
|
||
"2023-07-20 22:40"
|
||
],
|
||
"tickformat": "%B\n%Y",
|
||
"type": "date"
|
||
},
|
||
"yaxis": {
|
||
"anchor": "x",
|
||
"autorange": true,
|
||
"domain": [
|
||
0,
|
||
1
|
||
],
|
||
"range": [
|
||
-0.5,
|
||
30.5
|
||
],
|
||
"title": {
|
||
"text": "VorgangsID"
|
||
},
|
||
"type": "category"
|
||
}
|
||
}
|
||
},
|
||
"image/png": "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BCAAAQhAAAIQgAAEIDB0BBD7oUspBwQBCEAAAhCAAAQgAAEIQAACo0QAsR+lbHOsEIAABCAAAQhAAAIQgAAEIDB0BBD7oUspBwQBCEAAAhCAAAQgAAEIQAACo0QAsR+lbHOsEIAABCAAAQhAAAIQgAAEIDB0BBD7oUspBwQBCEAAAhCAAAQgAAEIQAACo0QAsR+lbHOsEIAABCAAAQhAAAIQgAAEIDB0BBD7oUspBwQBCEAAAhCAAAQgAAEIQAACo0QAsR+lbHOsEIAABCAAAQhAAAIQgAAEIDB0BBD7oUspBwQBCEAAAhCAAAQgAAEIQAACo0QAsR+lbHOsEIAABCAAAQhAAAIQgAAEIDB0BBD7oUspBwQBCEAAAhCAAAQgAAEIQAACo0QAsR+lbHOsEIAABCAAAQhAAAIQgAAEIDB0BBD7oUspBwQBCEAAAhCAAAQgAAEIQAACo0QAsR+lbHOsEIAABCAAAQhAAAIQgAAEIDB0BBD7oUspBwQBCEAAAhCAAAQgAAEIQAACo0QAsR+lbHOsEIAABCAAAQhAAAIQgAAEIDB0BBD7oUspBwQBCEAAAhCAAAQgAAEIQAACo0QAsR+lbHOsEIAABCAAAQhAAAIQgAAEIDB0BBD7oUspBwQBCEAAAhCAAAQgAAEIQAACo0QAsR+lbHOsEIAABCAAAQhAAAIQgAAEIDB0BP5/Q6HIamgi08wAAAAASUVORK5CYII=",
|
||
"text/html": [
|
||
"<div> <div id=\"cd137535-45bb-4ca1-98a5-50e849527307\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"cd137535-45bb-4ca1-98a5-50e849527307\")) { Plotly.newPlot( \"cd137535-45bb-4ca1-98a5-50e849527307\", [{\"alignmentgroup\":\"True\",\"base\":[\"2020-12-10T00:00:00\",\"2021-12-16T00:00:00\",\"2022-06-21T00:00:00\",\"2022-12-12T00:00:00\",\"2022-02-03T00:00:00\",\"2022-03-28T00:00:00\",\"2022-01-26T00:00:00\",\"2021-12-15T00:00:00\",\"2023-01-21T00:00:00\",\"2021-12-12T00:00:00\",\"2020-02-10T00:00:00\",\"2019-11-13T00:00:00\",\"2019-11-11T00:00:00\",\"2023-01-25T00:00:00\",\"2020-03-23T00:00:00\",\"2020-03-22T00:00:00\",\"2020-06-24T00:00:00\",\"2021-01-06T00:00:00\",\"2022-09-12T00:00:00\",\"2020-01-09T00:00:00\",\"2020-01-10T00:00:00\",\"2021-07-06T00:00:00\",\"2020-02-20T00:00:00\",\"2022-04-01T00:00:00\",\"2021-05-05T00:00:00\",\"2022-05-23T00:00:00\",\"2022-01-30T00:00:00\",\"2023-03-12T00:00:00\",\"2022-03-24T00:00:00\",\"2022-04-25T00:00:00\",\"2023-05-11T00:00:00\"],\"hovertemplate\":\"ErstellungsDatum=%{base}\\u003cbr\\u003eErledigungsDatum=%{x}\\u003cbr\\u003eVorgangsID=%{y}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"legendgroup\":\"\",\"marker\":{\"color\":\"#636efa\",\"pattern\":{\"shape\":\"\"}},\"name\":\"\",\"offsetgroup\":\"\",\"orientation\":\"h\",\"showlegend\":false,\"textposition\":\"auto\",\"x\":[345600000.0,86400000.0,86400000.0,86400000.0,0.0,0.0,0.0,86400000.0,172800000.0,86400000.0,0.0,432000000.0,0.0,86400000.0,0.0,86400000.0,0.0,172800000.0,345600000.0,86400000.0,259200000.0,172800000.0,0.0,0.0,0.0,86400000.0,86400000.0,86400000.0,0.0,86400000.0,0.0],\"xaxis\":\"x\",\"y\":[70133,146532,260631,496050,149786,246447,149582,146522,508696,146448,35177,20810,20794,508973,38567,38566,46602,92682,273263,30320,30347,133495,35862,246860,123784,259615,149651,518785,246256,254123,531578],\"yaxis\":\"y\",\"type\":\"bar\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"xaxis\":{\"anchor\":\"y\",\"domain\":[0.0,1.0],\"type\":\"date\",\"tickformat\":\"%B\\n%Y\"},\"yaxis\":{\"anchor\":\"x\",\"domain\":[0.0,1.0],\"title\":{\"text\":\"VorgangsID\"},\"type\":\"category\"},\"legend\":{\"tracegroupgap\":0},\"margin\":{\"t\":60},\"barmode\":\"overlay\"}, {\"responsive\": true} ).then(function(){\n",
|
||
" \n",
|
||
"var gd = document.getElementById('cd137535-45bb-4ca1-98a5-50e849527307');\n",
|
||
"var x = new MutationObserver(function (mutations, observer) {{\n",
|
||
" var display = window.getComputedStyle(gd).display;\n",
|
||
" if (!display || display === 'none') {{\n",
|
||
" console.log([gd, 'removed!']);\n",
|
||
" Plotly.purge(gd);\n",
|
||
" observer.disconnect();\n",
|
||
" }}\n",
|
||
"}});\n",
|
||
"\n",
|
||
"// Listen for the removal of the full notebook cells\n",
|
||
"var notebookContainer = gd.closest('#notebook-container');\n",
|
||
"if (notebookContainer) {{\n",
|
||
" x.observe(notebookContainer, {childList: true});\n",
|
||
"}}\n",
|
||
"\n",
|
||
"// Listen for the clearing of the current output cell\n",
|
||
"var outputEl = gd.closest('.output');\n",
|
||
"if (outputEl) {{\n",
|
||
" x.observe(outputEl, {childList: true});\n",
|
||
"}}\n",
|
||
"\n",
|
||
" }) }; }); </script> </div>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"#fig = px.scatter(filtered, x='ErstellungsDatum', y='delta')\n",
|
||
"fig = px.timeline(filtered, x_start='ErstellungsDatum', x_end='ErledigungsDatum', y='VorgangsID')\n",
|
||
"fig.update_xaxes(tickformat='%B\\n%Y')\n",
|
||
"fig.update_yaxes(type='category')\n",
|
||
"#fig.update_yaxes(tickformat=',d', dtick=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "c1bd744d-50a6-49c1-8559-3f71b416e18c",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "81a6d2d2-51c1-4c49-8451-5f38dd39c90a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "c07e03d5-b2c7-4c7e-a6ff-2257c586e7ba",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "453b461b-644c-4d9e-b5ff-faef6fa4698c",
|
||
"metadata": {},
|
||
"source": [
|
||
"---\n",
|
||
"\n",
|
||
"# Wertigkeit von Maßnahmen"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "37e08060-3b88-4215-b705-c274d04f1976",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-07-31 10:35:55 +0000 | io:INFO | Loaded TOML config file successfully.\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\transformers\\utils\\generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n",
|
||
" _torch_pytree._register_pytree_node(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\huggingface_hub\\file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
|
||
" warnings.warn(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\transformers\\utils\\generic.py:309: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n",
|
||
" _torch_pytree._register_pytree_node(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\transformers\\utils\\generic.py:309: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n",
|
||
" _torch_pytree._register_pytree_node(\n",
|
||
"A:\\Arbeitsaufgaben\\lang-main\\.venv\\Lib\\site-packages\\huggingface_hub\\file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
|
||
" warnings.warn(\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from lang_main import io\n",
|
||
"from lang_main.analysis.graphs import rescale_edge_weights, get_graph_metadata\n",
|
||
"from lang_main.types import EntryPoints\n",
|
||
"from lang_main.constants import SAVE_PATH_FOLDER\n",
|
||
"from lang_main.analysis.shared import entry_wise_cleansing\n",
|
||
"\n",
|
||
"from pathlib import Path\n",
|
||
"import pickle\n",
|
||
"import base64\n",
|
||
"import os\n",
|
||
"from logging import NullHandler\n",
|
||
"\n",
|
||
"import numpy as np\n",
|
||
"import networkx as nx\n",
|
||
"\n",
|
||
"import py4cytoscape as p4c\n",
|
||
"#import py4cytoscape.py4cytoscape_logger_settings as p4c_logging\n",
|
||
"#p4c.set_summary_logger(False)\n",
|
||
"#p4c_logging._SUMMARY_LOG_LEVEL = 'ERROR'\n",
|
||
"# p4c_logging._DETAIL_LOG_LEVEL = 'ERROR'\n",
|
||
"#p4c.py4cytoscape_logger.detail_logger.setLevel('ERROR')\n",
|
||
"#p4c.py4cytoscape_logger.detail_logger.removeHandler(p4c.py4cytoscape_logger.detail_handler)\n",
|
||
"#p4c.py4cytoscape_logger.detail_logger.addHandler(NullHandler())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "dda237bc-9835-4db2-9825-9e97991de60e",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from lang_main.analysis.timeline import filter_timeline_cands, cleanup_descriptions, calc_delta_to_next_failure"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "b0de4b11-d120-4827-8668-9c101a95d051",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"2024-07-31 10:36:04 +0000 | io:INFO | Loaded file successfully.\n",
|
||
"2024-07-31 10:36:04 +0000 | io:INFO | Loaded file successfully.\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"p_df = io.get_entry_point(SAVE_PATH_FOLDER, EntryPoints.TIMELINE_POST)\n",
|
||
"# p_df = io.get_entry_point(SAVE_PATH_FOLDER, EntryPoints.TIMELINE)\n",
|
||
"(data,) = io.load_pickle(p_df)\n",
|
||
"# p_tl = Path(r'../results/test_20240619/TIMELINE_POSTPROCESSING.pkl').resolve()\n",
|
||
"p_tl = io.get_entry_point(SAVE_PATH_FOLDER, EntryPoints.TIMELINE_CANDS)\n",
|
||
"cands, texts = io.load_pickle(p_tl)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "be9d9dd7-47a6-42ea-99e3-290fe3d40844",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Index(['VorgangsID', 'ObjektID', 'HObjektText', 'ObjektArtID', 'ObjektArtText',\n",
|
||
" 'VorgangsTypID', 'VorgangsTypName', 'VorgangsDatum', 'VorgangsStatusId',\n",
|
||
" 'VorgangsPrioritaet', 'VorgangsBeschreibung', 'VorgangsOrt',\n",
|
||
" 'VorgangsArtText', 'ErledigungsDatum', 'ErledigungsArtText',\n",
|
||
" 'ErledigungsBeschreibung', 'MPMelderArbeitsplatz',\n",
|
||
" 'MPAbteilungBezeichnung', 'Arbeitsbeginn', 'ErstellungsDatum',\n",
|
||
" 'delta_to_repair'],\n",
|
||
" dtype='object')"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"data.columns"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "756c9465-2aed-4463-ab1a-34c78742b95d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>VorgangsID</th>\n",
|
||
" <th>ObjektID</th>\n",
|
||
" <th>HObjektText</th>\n",
|
||
" <th>ObjektArtID</th>\n",
|
||
" <th>ObjektArtText</th>\n",
|
||
" <th>VorgangsTypID</th>\n",
|
||
" <th>VorgangsTypName</th>\n",
|
||
" <th>VorgangsDatum</th>\n",
|
||
" <th>VorgangsStatusId</th>\n",
|
||
" <th>VorgangsPrioritaet</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>VorgangsOrt</th>\n",
|
||
" <th>VorgangsArtText</th>\n",
|
||
" <th>ErledigungsDatum</th>\n",
|
||
" <th>ErledigungsArtText</th>\n",
|
||
" <th>ErledigungsBeschreibung</th>\n",
|
||
" <th>MPMelderArbeitsplatz</th>\n",
|
||
" <th>MPAbteilungBezeichnung</th>\n",
|
||
" <th>Arbeitsbeginn</th>\n",
|
||
" <th>ErstellungsDatum</th>\n",
|
||
" <th>delta_to_repair</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>53</td>\n",
|
||
" <td>244</td>\n",
|
||
" <td>285 C, Webmaschine, SG 220 EMS</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>Greifer-Webmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-03-19</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kupplung defekt</td>\n",
|
||
" <td>2019-03-20</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>N.V.</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>NaT</td>\n",
|
||
" <td>2019-03-19</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>58</td>\n",
|
||
" <td>257</td>\n",
|
||
" <td>107, Webmaschine, OM 220 EOS</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Luft-Webmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-03-21</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Gegengewicht an der Webmaschine abgefallen</td>\n",
|
||
" <td>2019-03-21</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Schraube ausgebohrt. Gegengewicht wieder angeb...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2019-03-21</td>\n",
|
||
" <td>2019-03-21</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>81</td>\n",
|
||
" <td>138</td>\n",
|
||
" <td>00138, Schärmaschine 9,</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>Schärmaschine</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>zentrale Bremsenverstellung linke Gatterseite ...</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Bolzen gebrochen. Bolzen neu angefertig und di...</td>\n",
|
||
" <td>Vorwerk</td>\n",
|
||
" <td>Vorwerk</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>82</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Warenschau allgemein</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Warenschau allgemein</td>\n",
|
||
" <td>Allgemeine Reparaturarbeiten</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Feder ausgetauscht</td>\n",
|
||
" <td>Warenschau</td>\n",
|
||
" <td>Warenschau</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>76</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Neben der Türe</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-03-22</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Neben der Türe</td>\n",
|
||
" <td>Kettbaum</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Schrauben ausgebohrt . Gewinde nachgeschnitten</td>\n",
|
||
" <td>Vorwerk</td>\n",
|
||
" <td>Vorwerk</td>\n",
|
||
" <td>2019-03-25</td>\n",
|
||
" <td>2019-03-22</td>\n",
|
||
" <td>3</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 21 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" VorgangsID ObjektID HObjektText ObjektArtID \\\n",
|
||
"0 53 244 285 C, Webmaschine, SG 220 EMS 5 \n",
|
||
"1 58 257 107, Webmaschine, OM 220 EOS 3 \n",
|
||
"2 81 138 00138, Schärmaschine 9, 16 \n",
|
||
"3 82 0 Warenschau allgemein 0 \n",
|
||
"4 76 0 Neben der Türe 0 \n",
|
||
"\n",
|
||
" ObjektArtText VorgangsTypID VorgangsTypName \\\n",
|
||
"0 Greifer-Webmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"1 Luft-Webmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"2 Schärmaschine 3 Reparaturauftrag (Portal) \n",
|
||
"3 NaN 3 Reparaturauftrag (Portal) \n",
|
||
"4 NaN 3 Reparaturauftrag (Portal) \n",
|
||
"\n",
|
||
" VorgangsDatum VorgangsStatusId VorgangsPrioritaet ... \\\n",
|
||
"0 2019-03-19 5 0 ... \n",
|
||
"1 2019-03-21 5 0 ... \n",
|
||
"2 2019-03-25 5 0 ... \n",
|
||
"3 2019-03-25 5 0 ... \n",
|
||
"4 2019-03-22 5 0 ... \n",
|
||
"\n",
|
||
" VorgangsOrt VorgangsArtText \\\n",
|
||
"0 NaN Kupplung defekt \n",
|
||
"1 NaN Gegengewicht an der Webmaschine abgefallen \n",
|
||
"2 NaN zentrale Bremsenverstellung linke Gatterseite ... \n",
|
||
"3 Warenschau allgemein Allgemeine Reparaturarbeiten \n",
|
||
"4 Neben der Türe Kettbaum \n",
|
||
"\n",
|
||
" ErledigungsDatum ErledigungsArtText \\\n",
|
||
"0 2019-03-20 Reparatur UTT \n",
|
||
"1 2019-03-21 Reparatur UTT \n",
|
||
"2 2019-03-25 Reparatur UTT \n",
|
||
"3 2019-03-25 Reparatur UTT \n",
|
||
"4 2019-03-25 Reparatur UTT \n",
|
||
"\n",
|
||
" ErledigungsBeschreibung MPMelderArbeitsplatz \\\n",
|
||
"0 N.V. Weberei \n",
|
||
"1 Schraube ausgebohrt. Gegengewicht wieder angeb... Weberei \n",
|
||
"2 Bolzen gebrochen. Bolzen neu angefertig und di... Vorwerk \n",
|
||
"3 Feder ausgetauscht Warenschau \n",
|
||
"4 Schrauben ausgebohrt . Gewinde nachgeschnitten Vorwerk \n",
|
||
"\n",
|
||
" MPAbteilungBezeichnung Arbeitsbeginn ErstellungsDatum delta_to_repair \n",
|
||
"0 Weberei NaT 2019-03-19 1 \n",
|
||
"1 Weberei 2019-03-21 2019-03-21 0 \n",
|
||
"2 Vorwerk 2019-03-25 2019-03-25 0 \n",
|
||
"3 Warenschau 2019-03-25 2019-03-25 0 \n",
|
||
"4 Vorwerk 2019-03-25 2019-03-22 3 \n",
|
||
"\n",
|
||
"[5 rows x 21 columns]"
|
||
]
|
||
},
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"data.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "c1a4b962-8b14-4f9b-9a3f-522c52b5c325",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"data_clean = data.copy()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "cd8fdcf4-18e6-4e38-b839-fc04872a3966",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "1960df45-058c-40f1-baed-9ab19375d404",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 86,
|
||
"id": "803555d7-57f3-4b4b-b657-caa81aca1c88",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"string_cols_postproc = [\n",
|
||
" 'VorgangsBeschreibung',\n",
|
||
" 'ErledigungsBeschreibung'\n",
|
||
"]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 87,
|
||
"id": "ebf16eef-e1f4-4ae8-a6a3-09889bb42439",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"data[string_cols_postproc] = data[string_cols_postproc].fillna('N.V.').copy()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 88,
|
||
"id": "8edea7e8-283a-499d-b7b4-00002e691a30",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"data[string_cols_postproc] = data[string_cols_postproc].map(clean_strings_dataframes).copy()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "b3e03239-52fd-41cd-8f94-c13b5236adae",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "7ab104ae-518e-422f-87be-f75203b6669a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "adc7b98c-d8ce-4c68-8a48-864ff8a64264",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df = filter_timeline_cands(data_clean, cands, 1654, 0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "689bd3d6-2d58-4944-9c46-8548aa34f63e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>VorgangsID</th>\n",
|
||
" <th>ObjektID</th>\n",
|
||
" <th>HObjektText</th>\n",
|
||
" <th>ObjektArtID</th>\n",
|
||
" <th>ObjektArtText</th>\n",
|
||
" <th>VorgangsTypID</th>\n",
|
||
" <th>VorgangsTypName</th>\n",
|
||
" <th>VorgangsDatum</th>\n",
|
||
" <th>VorgangsStatusId</th>\n",
|
||
" <th>VorgangsPrioritaet</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>VorgangsOrt</th>\n",
|
||
" <th>VorgangsArtText</th>\n",
|
||
" <th>ErledigungsDatum</th>\n",
|
||
" <th>ErledigungsArtText</th>\n",
|
||
" <th>ErledigungsBeschreibung</th>\n",
|
||
" <th>MPMelderArbeitsplatz</th>\n",
|
||
" <th>MPAbteilungBezeichnung</th>\n",
|
||
" <th>Arbeitsbeginn</th>\n",
|
||
" <th>ErstellungsDatum</th>\n",
|
||
" <th>delta_to_repair</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>57937</th>\n",
|
||
" <td>24650</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-12-02</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2019-12-03</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>lager entfernt und neu eingebaut</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2019-12-03</td>\n",
|
||
" <td>2019-12-02</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>57927</th>\n",
|
||
" <td>24704</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-12-03</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2019-12-04</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Zylinderkopfschrauben am Kettbaumadapter ausge...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2019-12-04</td>\n",
|
||
" <td>2019-12-03</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7579</th>\n",
|
||
" <td>25414</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-12-13</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2019-12-16</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Schraube ausgebohrt und gewinde nachgeschitten.</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2019-12-16</td>\n",
|
||
" <td>2019-12-13</td>\n",
|
||
" <td>3</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>66749</th>\n",
|
||
" <td>30359</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2020-01-12</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2020-01-13</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Schraube von Adapter entfernt</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2020-01-13</td>\n",
|
||
" <td>2020-01-12</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1680</th>\n",
|
||
" <td>49908</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>Extern - Reparatur</td>\n",
|
||
" <td>Kettbaum Lagerauflage ist defekt und nicht meh...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 21 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" VorgangsID ObjektID HObjektText \\\n",
|
||
"57937 24650 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"57927 24704 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"7579 25414 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"66749 30359 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"1680 49908 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"\n",
|
||
" ObjektArtID ObjektArtText VorgangsTypID VorgangsTypName \\\n",
|
||
"57937 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"57927 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"7579 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"66749 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"1680 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"\n",
|
||
" VorgangsDatum VorgangsStatusId VorgangsPrioritaet ... VorgangsOrt \\\n",
|
||
"57937 2019-12-02 2 0 ... NaN \n",
|
||
"57927 2019-12-03 5 0 ... NaN \n",
|
||
"7579 2019-12-13 5 0 ... NaN \n",
|
||
"66749 2020-01-12 5 0 ... NaN \n",
|
||
"1680 2020-07-13 5 0 ... NaN \n",
|
||
"\n",
|
||
" VorgangsArtText ErledigungsDatum ErledigungsArtText \\\n",
|
||
"57937 Kettbaum-Adapter 2019-12-03 Reparatur UTT \n",
|
||
"57927 Kettbaum-Adapter 2019-12-04 Reparatur UTT \n",
|
||
"7579 Kettbaum-Adapter 2019-12-16 Reparatur UTT \n",
|
||
"66749 Kettbaum-Adapter 2020-01-13 Reparatur UTT \n",
|
||
"1680 Kettbaum-Adapter 2020-07-13 Extern - Reparatur \n",
|
||
"\n",
|
||
" ErledigungsBeschreibung MPMelderArbeitsplatz \\\n",
|
||
"57937 lager entfernt und neu eingebaut Weberei \n",
|
||
"57927 Zylinderkopfschrauben am Kettbaumadapter ausge... Weberei \n",
|
||
"7579 Schraube ausgebohrt und gewinde nachgeschitten. Weberei \n",
|
||
"66749 Schraube von Adapter entfernt Weberei \n",
|
||
"1680 Kettbaum Lagerauflage ist defekt und nicht meh... Weberei \n",
|
||
"\n",
|
||
" MPAbteilungBezeichnung Arbeitsbeginn ErstellungsDatum delta_to_repair \n",
|
||
"57937 Weberei 2019-12-03 2019-12-02 1 \n",
|
||
"57927 Weberei 2019-12-04 2019-12-03 1 \n",
|
||
"7579 Weberei 2019-12-16 2019-12-13 3 \n",
|
||
"66749 Weberei 2020-01-13 2020-01-12 1 \n",
|
||
"1680 Weberei 2020-07-13 2020-07-13 0 \n",
|
||
"\n",
|
||
"[5 rows x 21 columns]"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "121f0ca2-43d5-46d4-a5a0-66c4bbf1ce0a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_delta = calc_delta_to_next_failure(df, date_feature='ErstellungsDatum', name_delta_feature='delta')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"id": "9bcf4372-5b94-4e74-a440-6a5cdd1ec0da",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>VorgangsID</th>\n",
|
||
" <th>ObjektID</th>\n",
|
||
" <th>HObjektText</th>\n",
|
||
" <th>ObjektArtID</th>\n",
|
||
" <th>ObjektArtText</th>\n",
|
||
" <th>VorgangsTypID</th>\n",
|
||
" <th>VorgangsTypName</th>\n",
|
||
" <th>VorgangsDatum</th>\n",
|
||
" <th>VorgangsStatusId</th>\n",
|
||
" <th>VorgangsPrioritaet</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>VorgangsArtText</th>\n",
|
||
" <th>ErledigungsDatum</th>\n",
|
||
" <th>ErledigungsArtText</th>\n",
|
||
" <th>ErledigungsBeschreibung</th>\n",
|
||
" <th>MPMelderArbeitsplatz</th>\n",
|
||
" <th>MPAbteilungBezeichnung</th>\n",
|
||
" <th>Arbeitsbeginn</th>\n",
|
||
" <th>ErstellungsDatum</th>\n",
|
||
" <th>delta_to_repair</th>\n",
|
||
" <th>delta</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>117758</th>\n",
|
||
" <td>272716</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2022-08-28</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2022-08-29</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Schraube ausgebohrt und Gewinde nachgeschnitten</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2022-08-29</td>\n",
|
||
" <td>2022-08-28</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>198 days</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>66749</th>\n",
|
||
" <td>30359</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2020-01-12</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2020-01-13</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Schraube von Adapter entfernt</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2020-01-13</td>\n",
|
||
" <td>2020-01-12</td>\n",
|
||
" <td>1</td>\n",
|
||
" <td>183 days</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>119480</th>\n",
|
||
" <td>253945</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>Störungsmeldung</td>\n",
|
||
" <td>2022-04-22</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2022-04-25</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Eine seite neue Gewinde gebohrt und geschnitte...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>2022-04-22</td>\n",
|
||
" <td>2022-04-22</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>128 days</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>46790</th>\n",
|
||
" <td>103707</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2021-02-16</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2021-02-16</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Kettbaum-Adapter schrauben entfernt und gewind...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2021-02-16</td>\n",
|
||
" <td>2021-02-16</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>103 days</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1680</th>\n",
|
||
" <td>49908</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>Extern - Reparatur</td>\n",
|
||
" <td>Kettbaum Lagerauflage ist defekt und nicht meh...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>72 days</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 22 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" VorgangsID ObjektID HObjektText \\\n",
|
||
"117758 272716 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"66749 30359 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"119480 253945 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"46790 103707 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"1680 49908 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"\n",
|
||
" ObjektArtID ObjektArtText VorgangsTypID VorgangsTypName \\\n",
|
||
"117758 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"66749 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"119480 90 UTT allgemein 2 Störungsmeldung \n",
|
||
"46790 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"1680 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"\n",
|
||
" VorgangsDatum VorgangsStatusId VorgangsPrioritaet ... \\\n",
|
||
"117758 2022-08-28 5 0 ... \n",
|
||
"66749 2020-01-12 5 0 ... \n",
|
||
"119480 2022-04-22 5 0 ... \n",
|
||
"46790 2021-02-16 5 0 ... \n",
|
||
"1680 2020-07-13 5 0 ... \n",
|
||
"\n",
|
||
" VorgangsArtText ErledigungsDatum ErledigungsArtText \\\n",
|
||
"117758 Kettbaum-Adapter 2022-08-29 Intern UTT - Reparatur \n",
|
||
"66749 Kettbaum-Adapter 2020-01-13 Reparatur UTT \n",
|
||
"119480 Kettbaum-Adapter 2022-04-25 Intern UTT - Reparatur \n",
|
||
"46790 Kettbaum-Adapter 2021-02-16 Intern UTT - Reparatur \n",
|
||
"1680 Kettbaum-Adapter 2020-07-13 Extern - Reparatur \n",
|
||
"\n",
|
||
" ErledigungsBeschreibung \\\n",
|
||
"117758 Schraube ausgebohrt und Gewinde nachgeschnitten \n",
|
||
"66749 Schraube von Adapter entfernt \n",
|
||
"119480 Eine seite neue Gewinde gebohrt und geschnitte... \n",
|
||
"46790 Kettbaum-Adapter schrauben entfernt und gewind... \n",
|
||
"1680 Kettbaum Lagerauflage ist defekt und nicht meh... \n",
|
||
"\n",
|
||
" MPMelderArbeitsplatz MPAbteilungBezeichnung Arbeitsbeginn \\\n",
|
||
"117758 Weberei Weberei 2022-08-29 \n",
|
||
"66749 Weberei Weberei 2020-01-13 \n",
|
||
"119480 NaN NaN 2022-04-22 \n",
|
||
"46790 Weberei Weberei 2021-02-16 \n",
|
||
"1680 Weberei Weberei 2020-07-13 \n",
|
||
"\n",
|
||
" ErstellungsDatum delta_to_repair delta \n",
|
||
"117758 2022-08-28 1 198 days \n",
|
||
"66749 2020-01-12 1 183 days \n",
|
||
"119480 2022-04-22 3 128 days \n",
|
||
"46790 2021-02-16 0 103 days \n",
|
||
"1680 2020-07-13 0 72 days \n",
|
||
"\n",
|
||
"[5 rows x 22 columns]"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_delta.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"id": "8de699a4-16bc-4f66-9d4d-0d9f0384db61",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"117758 198\n",
|
||
"66749 183\n",
|
||
"119480 128\n",
|
||
"46790 103\n",
|
||
"1680 72\n",
|
||
"43412 70\n",
|
||
"100461 66\n",
|
||
"2774 60\n",
|
||
"122902 59\n",
|
||
"111241 55\n",
|
||
"83 54\n",
|
||
"6798 45\n",
|
||
"67562 38\n",
|
||
"78986 32\n",
|
||
"7579 30\n",
|
||
"96080 22\n",
|
||
"55024 14\n",
|
||
"98277 11\n",
|
||
"57927 10\n",
|
||
"1743 10\n",
|
||
"8084 7\n",
|
||
"4846 6\n",
|
||
"55952 5\n",
|
||
"32229 5\n",
|
||
"78778 3\n",
|
||
"46791 2\n",
|
||
"57937 1\n",
|
||
"2980 0\n",
|
||
"43411 0\n",
|
||
"87479 0\n",
|
||
"Name: delta, dtype: int64"
|
||
]
|
||
},
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_delta['delta'].dt.days"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "b63b688d-29ac-4962-a49c-68417c5e16c6",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "5f30e465-6c19-4425-b3c8-7f02b6de41e0",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"id": "1b2516c2-ec45-4ed0-8e39-1db3ad4929a2",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>VorgangsID</th>\n",
|
||
" <th>ObjektID</th>\n",
|
||
" <th>HObjektText</th>\n",
|
||
" <th>ObjektArtID</th>\n",
|
||
" <th>ObjektArtText</th>\n",
|
||
" <th>VorgangsTypID</th>\n",
|
||
" <th>VorgangsTypName</th>\n",
|
||
" <th>VorgangsDatum</th>\n",
|
||
" <th>VorgangsStatusId</th>\n",
|
||
" <th>VorgangsPrioritaet</th>\n",
|
||
" <th>VorgangsBeschreibung</th>\n",
|
||
" <th>VorgangsOrt</th>\n",
|
||
" <th>VorgangsArtText</th>\n",
|
||
" <th>ErledigungsDatum</th>\n",
|
||
" <th>ErledigungsArtText</th>\n",
|
||
" <th>ErledigungsBeschreibung</th>\n",
|
||
" <th>MPMelderArbeitsplatz</th>\n",
|
||
" <th>MPAbteilungBezeichnung</th>\n",
|
||
" <th>Arbeitsbeginn</th>\n",
|
||
" <th>ErstellungsDatum</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>57937</th>\n",
|
||
" <td>24650</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-12-02</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Kettbaum-Adapter-Lager defekt. (Martino inform...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2019-12-03</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>lager entfernt und neu eingebaut</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2019-12-03</td>\n",
|
||
" <td>2019-12-02</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>57927</th>\n",
|
||
" <td>24704</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-12-03</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Schrauben rund. Bitte ausbohren. Kette steht v...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2019-12-04</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Zylinderkopfschrauben am Kettbaumadapter ausge...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2019-12-04</td>\n",
|
||
" <td>2019-12-03</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7579</th>\n",
|
||
" <td>25414</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2019-12-13</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Schraube rund.</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2019-12-16</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Schraube ausgebohrt und gewinde nachgeschitten.</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2019-12-16</td>\n",
|
||
" <td>2019-12-13</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>66749</th>\n",
|
||
" <td>30359</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2020-01-12</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Schraube von Adapter entfernen. Abgebrochener ...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2020-01-13</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Schraube von Adapter entfernt</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2020-01-13</td>\n",
|
||
" <td>2020-01-12</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1680</th>\n",
|
||
" <td>49908</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>Kettbaum Adapter Lager erneuern.</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>Extern - Reparatur</td>\n",
|
||
" <td>Kettbaum Lagerauflage ist defekt und nicht meh...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" VorgangsID ObjektID HObjektText \\\n",
|
||
"57937 24650 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"57927 24704 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"7579 25414 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"66749 30359 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"1680 49908 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"\n",
|
||
" ObjektArtID ObjektArtText VorgangsTypID VorgangsTypName \\\n",
|
||
"57937 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"57927 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"7579 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"66749 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"1680 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"\n",
|
||
" VorgangsDatum VorgangsStatusId VorgangsPrioritaet \\\n",
|
||
"57937 2019-12-02 2 0 \n",
|
||
"57927 2019-12-03 5 0 \n",
|
||
"7579 2019-12-13 5 0 \n",
|
||
"66749 2020-01-12 5 0 \n",
|
||
"1680 2020-07-13 5 0 \n",
|
||
"\n",
|
||
" VorgangsBeschreibung VorgangsOrt \\\n",
|
||
"57937 Kettbaum-Adapter-Lager defekt. (Martino inform... NaN \n",
|
||
"57927 Schrauben rund. Bitte ausbohren. Kette steht v... NaN \n",
|
||
"7579 Schraube rund. NaN \n",
|
||
"66749 Schraube von Adapter entfernen. Abgebrochener ... NaN \n",
|
||
"1680 Kettbaum Adapter Lager erneuern. NaN \n",
|
||
"\n",
|
||
" VorgangsArtText ErledigungsDatum ErledigungsArtText \\\n",
|
||
"57937 Kettbaum-Adapter 2019-12-03 Reparatur UTT \n",
|
||
"57927 Kettbaum-Adapter 2019-12-04 Reparatur UTT \n",
|
||
"7579 Kettbaum-Adapter 2019-12-16 Reparatur UTT \n",
|
||
"66749 Kettbaum-Adapter 2020-01-13 Reparatur UTT \n",
|
||
"1680 Kettbaum-Adapter 2020-07-13 Extern - Reparatur \n",
|
||
"\n",
|
||
" ErledigungsBeschreibung MPMelderArbeitsplatz \\\n",
|
||
"57937 lager entfernt und neu eingebaut Weberei \n",
|
||
"57927 Zylinderkopfschrauben am Kettbaumadapter ausge... Weberei \n",
|
||
"7579 Schraube ausgebohrt und gewinde nachgeschitten. Weberei \n",
|
||
"66749 Schraube von Adapter entfernt Weberei \n",
|
||
"1680 Kettbaum Lagerauflage ist defekt und nicht meh... Weberei \n",
|
||
"\n",
|
||
" MPAbteilungBezeichnung Arbeitsbeginn ErstellungsDatum \n",
|
||
"57937 Weberei 2019-12-03 2019-12-02 \n",
|
||
"57927 Weberei 2019-12-04 2019-12-03 \n",
|
||
"7579 Weberei 2019-12-16 2019-12-13 \n",
|
||
"66749 Weberei 2020-01-13 2020-01-12 \n",
|
||
"1680 Weberei 2020-07-13 2020-07-13 "
|
||
]
|
||
},
|
||
"execution_count": 16,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df = df.sort_values(by='ErstellungsDatum', ascending=True)\n",
|
||
"df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"id": "725bb900-7c3d-4f82-9de1-73fb127a377c",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Timestamp('2023-06-13 00:00:00')"
|
||
]
|
||
},
|
||
"execution_count": 20,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"last_val = df['ErstellungsDatum'].iat[-1]\n",
|
||
"last_val"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"id": "468a8c2b-59ce-48dc-ac94-41fbe12f174f",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"shifted = df['ErstellungsDatum'].shift(-1, fill_value=last_val)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 26,
|
||
"id": "dc44e019-19d7-46d6-9a4a-e619ac9ccfdc",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"delta = shifted - df['ErstellungsDatum']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"id": "c0aa7a33-56ba-4299-835c-245bb7d14aeb",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"57937 1 days\n",
|
||
"57927 10 days\n",
|
||
"7579 30 days\n",
|
||
"66749 183 days\n",
|
||
"1680 72 days\n",
|
||
"32229 5 days\n",
|
||
"83 54 days\n",
|
||
"1743 10 days\n",
|
||
"43411 0 days\n",
|
||
"43412 70 days\n",
|
||
"55952 5 days\n",
|
||
"46791 2 days\n",
|
||
"46790 103 days\n",
|
||
"96080 22 days\n",
|
||
"78778 3 days\n",
|
||
"67562 38 days\n",
|
||
"100461 66 days\n",
|
||
"2774 60 days\n",
|
||
"6798 45 days\n",
|
||
"4846 0 days\n",
|
||
"2980 6 days\n",
|
||
"8084 7 days\n",
|
||
"98277 11 days\n",
|
||
"111241 55 days\n",
|
||
"55024 14 days\n",
|
||
"119480 128 days\n",
|
||
"117758 198 days\n",
|
||
"122902 59 days\n",
|
||
"78986 32 days\n",
|
||
"87479 0 days\n",
|
||
"Name: ErstellungsDatum, dtype: timedelta64[ns]"
|
||
]
|
||
},
|
||
"execution_count": 27,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"delta"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"id": "c257fdc8-c4e7-4ef9-9bc8-3ab509e91ec3",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df['delta_to_next_failure'] = delta"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"id": "bd00d516-cf46-4cf2-88fc-50444c237c3b",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_delta = df.sort_values(by='delta_to_next_failure', ascending=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"id": "9c791440-9aaf-4d0c-97c3-2f3fa5c9584e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>VorgangsID</th>\n",
|
||
" <th>ObjektID</th>\n",
|
||
" <th>HObjektText</th>\n",
|
||
" <th>ObjektArtID</th>\n",
|
||
" <th>ObjektArtText</th>\n",
|
||
" <th>VorgangsTypID</th>\n",
|
||
" <th>VorgangsTypName</th>\n",
|
||
" <th>VorgangsDatum</th>\n",
|
||
" <th>VorgangsStatusId</th>\n",
|
||
" <th>VorgangsPrioritaet</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>VorgangsOrt</th>\n",
|
||
" <th>VorgangsArtText</th>\n",
|
||
" <th>ErledigungsDatum</th>\n",
|
||
" <th>ErledigungsArtText</th>\n",
|
||
" <th>ErledigungsBeschreibung</th>\n",
|
||
" <th>MPMelderArbeitsplatz</th>\n",
|
||
" <th>MPAbteilungBezeichnung</th>\n",
|
||
" <th>Arbeitsbeginn</th>\n",
|
||
" <th>ErstellungsDatum</th>\n",
|
||
" <th>delta_to_next_failure</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>117758</th>\n",
|
||
" <td>272716</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2022-08-28</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2022-08-29</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Schraube ausgebohrt und Gewinde nachgeschnitten</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2022-08-29</td>\n",
|
||
" <td>2022-08-28</td>\n",
|
||
" <td>198 days</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>66749</th>\n",
|
||
" <td>30359</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2020-01-12</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2020-01-13</td>\n",
|
||
" <td>Reparatur UTT</td>\n",
|
||
" <td>Schraube von Adapter entfernt</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2020-01-13</td>\n",
|
||
" <td>2020-01-12</td>\n",
|
||
" <td>183 days</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>119480</th>\n",
|
||
" <td>253945</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>2</td>\n",
|
||
" <td>Störungsmeldung</td>\n",
|
||
" <td>2022-04-22</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2022-04-25</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Eine seite neue Gewinde gebohrt und geschnitte...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>2022-04-22</td>\n",
|
||
" <td>2022-04-22</td>\n",
|
||
" <td>128 days</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>46790</th>\n",
|
||
" <td>103707</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2021-02-16</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2021-02-16</td>\n",
|
||
" <td>Intern UTT - Reparatur</td>\n",
|
||
" <td>Kettbaum-Adapter schrauben entfernt und gewin...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2021-02-16</td>\n",
|
||
" <td>2021-02-16</td>\n",
|
||
" <td>103 days</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1680</th>\n",
|
||
" <td>49908</td>\n",
|
||
" <td>1654</td>\n",
|
||
" <td>WEBEREI ALLGEMEIN, Weberei allgemein,</td>\n",
|
||
" <td>90</td>\n",
|
||
" <td>UTT allgemein</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>Reparaturauftrag (Portal)</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>Kettbaum-Adapter</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>Extern - Reparatur</td>\n",
|
||
" <td>Kettbaum Lagerauflage ist defekt und nicht meh...</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>Weberei</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>2020-07-13</td>\n",
|
||
" <td>72 days</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 21 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" VorgangsID ObjektID HObjektText \\\n",
|
||
"117758 272716 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"66749 30359 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"119480 253945 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"46790 103707 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"1680 49908 1654 WEBEREI ALLGEMEIN, Weberei allgemein, \n",
|
||
"\n",
|
||
" ObjektArtID ObjektArtText VorgangsTypID VorgangsTypName \\\n",
|
||
"117758 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"66749 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"119480 90 UTT allgemein 2 Störungsmeldung \n",
|
||
"46790 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"1680 90 UTT allgemein 3 Reparaturauftrag (Portal) \n",
|
||
"\n",
|
||
" VorgangsDatum VorgangsStatusId VorgangsPrioritaet ... VorgangsOrt \\\n",
|
||
"117758 2022-08-28 5 0 ... NaN \n",
|
||
"66749 2020-01-12 5 0 ... NaN \n",
|
||
"119480 2022-04-22 5 0 ... NaN \n",
|
||
"46790 2021-02-16 5 0 ... NaN \n",
|
||
"1680 2020-07-13 5 0 ... NaN \n",
|
||
"\n",
|
||
" VorgangsArtText ErledigungsDatum ErledigungsArtText \\\n",
|
||
"117758 Kettbaum-Adapter 2022-08-29 Intern UTT - Reparatur \n",
|
||
"66749 Kettbaum-Adapter 2020-01-13 Reparatur UTT \n",
|
||
"119480 Kettbaum-Adapter 2022-04-25 Intern UTT - Reparatur \n",
|
||
"46790 Kettbaum-Adapter 2021-02-16 Intern UTT - Reparatur \n",
|
||
"1680 Kettbaum-Adapter 2020-07-13 Extern - Reparatur \n",
|
||
"\n",
|
||
" ErledigungsBeschreibung \\\n",
|
||
"117758 Schraube ausgebohrt und Gewinde nachgeschnitten \n",
|
||
"66749 Schraube von Adapter entfernt \n",
|
||
"119480 Eine seite neue Gewinde gebohrt und geschnitte... \n",
|
||
"46790 Kettbaum-Adapter schrauben entfernt und gewin... \n",
|
||
"1680 Kettbaum Lagerauflage ist defekt und nicht meh... \n",
|
||
"\n",
|
||
" MPMelderArbeitsplatz MPAbteilungBezeichnung Arbeitsbeginn \\\n",
|
||
"117758 Weberei Weberei 2022-08-29 \n",
|
||
"66749 Weberei Weberei 2020-01-13 \n",
|
||
"119480 NaN NaN 2022-04-22 \n",
|
||
"46790 Weberei Weberei 2021-02-16 \n",
|
||
"1680 Weberei Weberei 2020-07-13 \n",
|
||
"\n",
|
||
" ErstellungsDatum delta_to_next_failure \n",
|
||
"117758 2022-08-28 198 days \n",
|
||
"66749 2020-01-12 183 days \n",
|
||
"119480 2022-04-22 128 days \n",
|
||
"46790 2021-02-16 103 days \n",
|
||
"1680 2020-07-13 72 days \n",
|
||
"\n",
|
||
"[5 rows x 21 columns]"
|
||
]
|
||
},
|
||
"execution_count": 32,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_delta.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 43,
|
||
"id": "93d28d94-cf2a-4d96-bd9a-c6898f85f883",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_delta['ErledigungsBeschreibung'] = df_delta['ErledigungsBeschreibung'].fillna('N.V.')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "403d0b49-f6e9-4d0d-92ef-45dbe81514a1",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 44,
|
||
"id": "21dfc078-3613-4422-97b1-4503b824f075",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"potential_successful = df_delta[['delta_to_next_failure', 'ErledigungsBeschreibung']]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 45,
|
||
"id": "dddfd07c-51ed-4632-90cd-ffd6264404d1",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"potential_successful.columns = ['Zeitspanne bis zum nächsten Ereignis [Tage]', 'Maßnahme']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 77,
|
||
"id": "e0ca4427-6744-47df-b2e0-40ea49cd6182",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>Zeitspanne bis zum nächsten Ereignis [Tage]</th>\n",
|
||
" <th>Maßnahme</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>117758</th>\n",
|
||
" <td>198 days</td>\n",
|
||
" <td>Schraube ausgebohrt und Gewinde nachgeschnitten</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>66749</th>\n",
|
||
" <td>183 days</td>\n",
|
||
" <td>Schraube von Adapter entfernt</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>119480</th>\n",
|
||
" <td>128 days</td>\n",
|
||
" <td>Eine seite neue Gewinde gebohrt und geschnitte...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>46790</th>\n",
|
||
" <td>103 days</td>\n",
|
||
" <td>Kettbaum-Adapter schrauben entfernt und gewin...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1680</th>\n",
|
||
" <td>72 days</td>\n",
|
||
" <td>Kettbaum Lagerauflage ist defekt und nicht meh...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>43412</th>\n",
|
||
" <td>70 days</td>\n",
|
||
" <td>Zylinderschraube rausgebohrt und Gewinde nachg...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>100461</th>\n",
|
||
" <td>66 days</td>\n",
|
||
" <td>N.V.</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2774</th>\n",
|
||
" <td>60 days</td>\n",
|
||
" <td>abgbrochene Schrauben entfernt und alle Gewind...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>122902</th>\n",
|
||
" <td>59 days</td>\n",
|
||
" <td>Schraube ausgebohrt und Gewinde nachgeschnitten</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>111241</th>\n",
|
||
" <td>55 days</td>\n",
|
||
" <td>Neues Lager 6312 2Rs C3 eingebaut</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>83</th>\n",
|
||
" <td>54 days</td>\n",
|
||
" <td>Schraube ausgebohrt und Gewinde nach geschnitten.</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>6798</th>\n",
|
||
" <td>45 days</td>\n",
|
||
" <td>Neues Lochbild mit Schablone gebohrt, da abgeb...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>67562</th>\n",
|
||
" <td>38 days</td>\n",
|
||
" <td>Schraube ausgebohrt.</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>78986</th>\n",
|
||
" <td>32 days</td>\n",
|
||
" <td>Schrauben ausgebohrt und Gewinde neu geschnitten.</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>7579</th>\n",
|
||
" <td>30 days</td>\n",
|
||
" <td>Schraube ausgebohrt und gewinde nachgeschitten.</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>96080</th>\n",
|
||
" <td>22 days</td>\n",
|
||
" <td>Zylinderkopfschrauben mit Innensechskant 3 Stü...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>55024</th>\n",
|
||
" <td>14 days</td>\n",
|
||
" <td>Schraube von Kettbaumadapter ausgebohrt</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>98277</th>\n",
|
||
" <td>11 days</td>\n",
|
||
" <td>erledigt.</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>57927</th>\n",
|
||
" <td>10 days</td>\n",
|
||
" <td>Zylinderkopfschrauben am Kettbaumadapter ausge...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1743</th>\n",
|
||
" <td>10 days</td>\n",
|
||
" <td>N.V.</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>8084</th>\n",
|
||
" <td>7 days</td>\n",
|
||
" <td>Altes Lager demontiert und neues montiert.</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2980</th>\n",
|
||
" <td>6 days</td>\n",
|
||
" <td>Schrauben ausgebohrt und alle anderen Gewinde ...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>55952</th>\n",
|
||
" <td>5 days</td>\n",
|
||
" <td>Schrauben entfernt. alle gewinde nachgeschnitten</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>32229</th>\n",
|
||
" <td>5 days</td>\n",
|
||
" <td>N.V.</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>78778</th>\n",
|
||
" <td>3 days</td>\n",
|
||
" <td>Kettbaum Schraube ausgebohrt und Gewinde nach ...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>46791</th>\n",
|
||
" <td>2 days</td>\n",
|
||
" <td>Neue Bohrlöcher angebracht, Gewinde geschnitte...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>57937</th>\n",
|
||
" <td>1 days</td>\n",
|
||
" <td>lager entfernt und neu eingebaut</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4846</th>\n",
|
||
" <td>0 days</td>\n",
|
||
" <td>Schraube entfernt und alle anderen Gewinde nac...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>43411</th>\n",
|
||
" <td>0 days</td>\n",
|
||
" <td>TK doppelt siehe tk 67187.</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>87479</th>\n",
|
||
" <td>0 days</td>\n",
|
||
" <td>Drei Schraubenköpfe aufgebohrt und Adapter run...</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Zeitspanne bis zum nächsten Ereignis [Tage] \\\n",
|
||
"117758 198 days \n",
|
||
"66749 183 days \n",
|
||
"119480 128 days \n",
|
||
"46790 103 days \n",
|
||
"1680 72 days \n",
|
||
"43412 70 days \n",
|
||
"100461 66 days \n",
|
||
"2774 60 days \n",
|
||
"122902 59 days \n",
|
||
"111241 55 days \n",
|
||
"83 54 days \n",
|
||
"6798 45 days \n",
|
||
"67562 38 days \n",
|
||
"78986 32 days \n",
|
||
"7579 30 days \n",
|
||
"96080 22 days \n",
|
||
"55024 14 days \n",
|
||
"98277 11 days \n",
|
||
"57927 10 days \n",
|
||
"1743 10 days \n",
|
||
"8084 7 days \n",
|
||
"2980 6 days \n",
|
||
"55952 5 days \n",
|
||
"32229 5 days \n",
|
||
"78778 3 days \n",
|
||
"46791 2 days \n",
|
||
"57937 1 days \n",
|
||
"4846 0 days \n",
|
||
"43411 0 days \n",
|
||
"87479 0 days \n",
|
||
"\n",
|
||
" Maßnahme \n",
|
||
"117758 Schraube ausgebohrt und Gewinde nachgeschnitten \n",
|
||
"66749 Schraube von Adapter entfernt \n",
|
||
"119480 Eine seite neue Gewinde gebohrt und geschnitte... \n",
|
||
"46790 Kettbaum-Adapter schrauben entfernt und gewin... \n",
|
||
"1680 Kettbaum Lagerauflage ist defekt und nicht meh... \n",
|
||
"43412 Zylinderschraube rausgebohrt und Gewinde nachg... \n",
|
||
"100461 N.V. \n",
|
||
"2774 abgbrochene Schrauben entfernt und alle Gewind... \n",
|
||
"122902 Schraube ausgebohrt und Gewinde nachgeschnitten \n",
|
||
"111241 Neues Lager 6312 2Rs C3 eingebaut \n",
|
||
"83 Schraube ausgebohrt und Gewinde nach geschnitten. \n",
|
||
"6798 Neues Lochbild mit Schablone gebohrt, da abgeb... \n",
|
||
"67562 Schraube ausgebohrt. \n",
|
||
"78986 Schrauben ausgebohrt und Gewinde neu geschnitten. \n",
|
||
"7579 Schraube ausgebohrt und gewinde nachgeschitten. \n",
|
||
"96080 Zylinderkopfschrauben mit Innensechskant 3 Stü... \n",
|
||
"55024 Schraube von Kettbaumadapter ausgebohrt \n",
|
||
"98277 erledigt. \n",
|
||
"57927 Zylinderkopfschrauben am Kettbaumadapter ausge... \n",
|
||
"1743 N.V. \n",
|
||
"8084 Altes Lager demontiert und neues montiert. \n",
|
||
"2980 Schrauben ausgebohrt und alle anderen Gewinde ... \n",
|
||
"55952 Schrauben entfernt. alle gewinde nachgeschnitten \n",
|
||
"32229 N.V. \n",
|
||
"78778 Kettbaum Schraube ausgebohrt und Gewinde nach ... \n",
|
||
"46791 Neue Bohrlöcher angebracht, Gewinde geschnitte... \n",
|
||
"57937 lager entfernt und neu eingebaut \n",
|
||
"4846 Schraube entfernt und alle anderen Gewinde nac... \n",
|
||
"43411 TK doppelt siehe tk 67187. \n",
|
||
"87479 Drei Schraubenköpfe aufgebohrt und Adapter run... "
|
||
]
|
||
},
|
||
"execution_count": 77,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"potential_successful"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 51,
|
||
"id": "cb645b89-c904-4f12-a829-30ddd9f1bbd8",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"t_str = potential_successful.loc[55952, 'Maßnahme']"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 53,
|
||
"id": "8ad3e3da-f7ff-417f-96f6-2b2817d852c7",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"t_str = 'Schrauben entfernt \\nalle gewinde nachgeschnitten\\t\\n'"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 55,
|
||
"id": "e844ed05-b623-45e8-b3d5-46e94db052e2",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Schrauben entfernt \\nalle gewinde nachgeschnitten\\t\\n'"
|
||
]
|
||
},
|
||
"execution_count": 55,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"t_str"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 48,
|
||
"id": "dbd0b2e6-b01c-40c0-a0fa-67be9f5329e1",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import re"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 73,
|
||
"id": "e1568d24-56c1-4dd1-b144-339b8b58289a",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"pattern = re.compile(r' *[\\t\\n\\r\\f\\v]+')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 74,
|
||
"id": "bc7bf0b4-5278-43a3-a5c1-93f9d0f2322f",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"'Schrauben entfernt. alle gewinde nachgeschnitten. '"
|
||
]
|
||
},
|
||
"execution_count": 74,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"pattern.sub('. ', t_str)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 75,
|
||
"id": "4b877452-daef-47cc-aa19-b117d301bcd1",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from lang_main.analysis.shared import clean_strings_dataframes"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 76,
|
||
"id": "e95e71fd-f335-4339-b587-1933b5cc5082",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"C:\\Users\\foersterflorian\\AppData\\Local\\Temp\\ipykernel_14020\\1258675024.py:1: SettingWithCopyWarning: \n",
|
||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||
"\n",
|
||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||
" potential_successful['Maßnahme'] = potential_successful['Maßnahme'].apply(clean_strings_dataframes)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"potential_successful['Maßnahme'] = potential_successful['Maßnahme'].apply(clean_strings_dataframes)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "de68b504-d587-420d-91e3-11859ca1eb9e",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.11.10"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|