Florian Förster 3f58a14852 sandboxing
2024-08-05 08:43:45 +02:00

10448 lines
647 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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": 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": null,
"id": "43eeb870-6f97-4029-ac0d-210315ccaabf",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 2,
"id": "af118d77-d87a-4687-be5b-e810a24c403e",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2024-07-31 06:33:53 +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",
"\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": 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/rrmFi1veyI3WWDlvc3BbHdEStxA45pxTXyqjM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dNy7Li03PpP6d14Tb2eDjDY+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": 11,
"id": "fcd9247f-c4f9-4f73-9fd3-2ab56700073f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | Calling cytoscape_ping()\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀCalling cytoscape_version_info(base_url='http://127.0.0.1:1234/v1')\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀǀCalling cyrest_get('version', base_url='http://127.0.0.1:1234/v1')\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀǀHTTP GET(http://127.0.0.1:1234/v1/version)\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀǀOK[200], content: {\"apiVersion\":\"v1\",\"cytoscapeVersion\":\"3.10.2\"}\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀǀReturning 'cyrest_get': {'apiVersion': 'v1', 'cytoscapeVersion': '3.10.2'}\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀReturning 'cytoscape_version_info': {'apiVersion': 'v1', 'cytoscapeVersion': '3.10.2', 'automationAPIVersion': '1.9.0', 'py4cytoscapeVersion': '1.9.0'}\n",
"You are connected to Cytoscape!\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | Returning 'cytoscape_ping': 'You are connected to Cytoscape!'\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | --------------------\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | Calling cytoscape_version_info()\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀCalling cyrest_get('version', base_url='http://127.0.0.1:1234/v1')\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀHTTP GET(http://127.0.0.1:1234/v1/version)\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀOK[200], content: {\"apiVersion\":\"v1\",\"cytoscapeVersion\":\"3.10.2\"}\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | ǀReturning 'cyrest_get': {'apiVersion': 'v1', 'cytoscapeVersion': '3.10.2'}\n",
"2024-07-10 11:19:15 +0000 | py4cytoscape_logger:DEBUG | Returning 'cytoscape_version_info': {'apiVersion': 'v1', 'cytoscapeVersion': '3.10.2', 'automationAPIVersion': '1.9.0', 'py4cytoscapeVersion': '1.9.0'}\n",
"2024-07-10 11:19:16 +0000 | py4cytoscape_logger:DEBUG | --------------------\n"
]
},
{
"data": {
"text/plain": [
"{'apiVersion': 'v1',\n",
" 'cytoscapeVersion': '3.10.2',\n",
" 'automationAPIVersion': '1.9.0',\n",
" 'py4cytoscapeVersion': '1.9.0'}"
]
},
"execution_count": 11,
"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": 5,
"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": 6,
"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": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nodes"
]
},
{
"cell_type": "code",
"execution_count": 7,
"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": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"edges"
]
},
{
"cell_type": "code",
"execution_count": 8,
"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": 8,
"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": 10,
"id": "2e6878db-40c0-4ae6-89d6-9b1a5e50baaf",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p4c.notebook_export_show_image()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "66128f17-16eb-43d3-9d63-bbac3f8f803a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'message': 'Visual Style applied.'}"
]
},
"execution_count": 11,
"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": "iVBORw0KGgoAAAANSUhEUgAAAxsAAAFwCAYAAADQcmZ5AAAzjElEQVR4Xu3de2xcZX7w8VBQaCAhC0lY2Fe0Eu2ibRsQUgGJf9oVUlVahFoFFqmif2yLigR/AOUF9CJCAVG20W7/WMGCFihbLbub+H6N41tsx46d2HEc20kcx4nj2I7t+BrfHcce53n9e7TnaOY5nrHPeMYzc873I/2k9cyZ4xsr+Zs5z3k2KQAAAACIg03mAwAAAAAQC8QGAAAAgLggNgAAAADEBbEBAAAAIC6IDQAAEFOBQMB8CIBPERsAACBm+vv71e7du1VBQYH5FAAfIjYAAEBMSGg89NBD6m82bVJ3bd5McAAgNgAAwPpZofHicmjUL88vCA4AitgAAADrZIaGNQQHAGIDAABELVxoEBwABLEBAACislpoEBwAiA0AAODaWkOD4AD8jdgAAACuuA0NggPwL2IDAACsWbShQXAA/kRsAACANVlvaBAcgP8QGwAAYFWxCg1rCA7AH4gNAABS3OjoqFpaWjIfXrObN2+qkZER82FbrEPDGoID8D5iAwCAFHf77bery5cvmw+v2c9//nP1t3/7t+bDWrxCwxqCA/A2YgMAgBQXbWzMzs6qf//3f1e33nrrirER79CwhuAAvIvYAAAgAQYGBtTHH3+sSkpK1AsvvKBefvlldebMGfv54eFh9e6776rnnntOvffee2psbMx+rqurS7366qvqxRdfVBUVFSGxMTk5qT744AP1/PPPq71796qJiQn7dSb5nHL+n/zkJ47Y2KjQsIbgALyJ2AAAIAEkLO644w719NNP6z+wX3nlFbVr1y41Pz+vxsfH1QMPPKDeeOMNVVlZqV577TX14IMP6nciJB7uv/9+9f7776uysjL11FNPqVtuuUXHxuLionr44Yd1iFRVVam33npLfyyPr0Q+j/j6669DYmOjQ8MaggPwHmIDAIAEkNjYtPzH9eDgoP44EAjodyja29vV559/rp544omQ4x9//HEdBTJPPvmk/Xhvb68+j8RGZmamjotgjz32mMrOzg55zGTGRmFhofrD225TX60QBPGc8uX5k+X5t3/7t6CvDkAqIzYAAEgAiY0tW7aEPLZ9+3b9+JtvvqkvcQomH7/99tvqnXfeUS+99FLIc3fffbeODbksa/PmzWrHjh32yMeffPJJyPEmMzZEVlaW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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-26 23:25:36.9657",
"2023-07-26 00:34:23.0343"
],
"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": "iVBORw0KGgoAAAANSUhEUgAABrsAAAFoCAYAAADn+EAcAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Xuc3FWd5/9P37vJpdMJhJCRARJU7sIgmFVQFB2FiChOAgizsMyECOLIxWACspjfDCRLTODnBYxRBtcbBgdlWLO6D1FknBWMOFlguIwSQdZcgFw7Sd+79/H9Nl1Uqrvre06db33re87nVf+QDud8v+fz/JxKddW76lt1Q0NDQ8INAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQ8F6gi7POwaS0YAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEIgFCLvYCAgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAt4KEHZ52zoWjgACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggQNjFHkAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEPBWgLDL29axcAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAcIu9gACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggIC3AoRd3raOhSOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBB2sQcQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQS8FSDs8rZ1LBwBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICwiz2AAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCDgrQBhl7etY+EIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEXewBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABbwUIu7xtHQtHAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAg7GIPIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIeCtA2OVt61g4AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAYRd7AAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAwFsBwi5vW8fCEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEECLvYAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAt4KEHZ52zoWjgACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggQNjFHkAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEPBWgLDL29axcAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAcIu9gACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggIC3AoRd3raOhSOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBB2sQcQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQS8FSDs8rZ1LBwBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICwiz2AAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCDgrQBhl7etY+EIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEXewBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABbwUIu7xtHQtHAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAg7GIPIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIeCtA2OVt61g4AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAYRd7AAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAwFsBwi5vW8fCEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEECLvYAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAt4KEHZ52zoWjgACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggQNjFHkAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEPBWgLDL29axcAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAcIu9gACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggIC3AoRd3raOhSOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBB2sQcQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQS8FSDs8rZ1LBwBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICwiz2AAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCDgrQBhl7etY+EIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEXewBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABbwUIu7xtHQtHAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAg7GIPIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIeCtA2OVt61g4AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAYRd7AAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAwFsBwi5vW8fCEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEECLvYAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAt4KEHZ52zoWjgACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggQNjFHkAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEPBWgLDL29axcAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAcIu9gACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggIC3AoRd3raOhSOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBB2sQcQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQS8FSDs8rZ1LBwBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICwiz2AAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCDgrQBhl7etY+EIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKEXY57YNO2LscjMF2DQPuEJukfGJK93f0ayqVGBIwFJh3QJDI0JJ1d3DeM0RioSqClqV4mtjXJtt09quqmWATKCbQ2N8gBLQ2yvbMXKAQQGEOgrk5kRkebbN7Oc1U2CAIjAvV1ItM72mQL9ws2BQLjCkyf0irbO3vi16+4IYDAsMDBHa3y6q4eGRjM5n4xc1ob9A4ChF0OeNFUwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0scVIOxicyCQLEDYlWzECH0ChF1+9Zywy7FfhF2OgEqmE3YpaTRlWgsQdlmTMUGZAGGXsoZTrpEAYZcRE4MUCxB2KW4+pRN2sQcQcBAg7HLAY2qwAoRdfrWWsMuxX4RdjoBKphN2KWk0ZVoLEHZZkzFBmQBhl7KGU66RAGGXERODFAsQdiluPqUTdrEHEHAQIOxywGNqsAKEXX61lrDLsV+EXY6ASqYTdilpNGVaCxB2WZMxQZkAYZeyhlOukQBhlxETgxQLEHYpbj6lE3axBxBwECDscsBjarAChF1+tZawy7FfhF2OgEqmE3YpaTRlWgsQdlmTMUGZAGGXsoZTrpEAYZcRE4MUCxB2KW4+pRN2sQcQcBAg7HLAY2qwAoRdfrWWsMuxX4RdjoBKphN2KWk0ZVoLEHZZkzFBmQBhl7KGU66RAGGXERODFAsQdiluPqUTdrEHEHAQIOxywGNqsAKEXX61lrDLsV+EXY6ASqYTdilpNGVaCxB2WZMxQZkAYZeyhlOukQBhlxETgxQLEHYpbj6lE3axBxBwECDscsBjarAChF1+tZawy7FfhF2OgEqmE3YpaTRlWgsQdlmTMUGZAGGXsoZTrpEAYZcRE4MUCxB2KW4+pRN2sQcQcBAg7HLAY2qwAoRdfrWWsMuxX4RdjoBKphN2KWk0ZVoLEHZZkzFBmQBhl7KGU66RAGGXERODFAsQdiluPqUTdrEHEHAQIOxywGNqsAKEXX61lrDLsV+EXY6ASqYTdilpNGVaCxB2WZMxQZkAYZeyhlOukQBhlxETgxQLEHYpbj6lE3axBxBwECDscsBjarAChF1+tZawK6Ffz7+4SRZev1I2b91WGHn80bPkruXXSEf7JCHsSm/DNz2xQdpv+kx8wMEJE2X7d/4pvYPX+EiEXTVuAKfPrQBhV25bw8JyIkDYlZNGsIxcCRB25aodLCaHAoRdOWwKS6q5QH2dyPSONtmyvavma2EBCORVgLArr51hXbUUIOyqpb79uQm7DMKuG5etkVuWLJDZh80cNZqwy37TjTej5ZGfy7Tz5sb/e2hyu2zeuDm9g9f4SIRdNW4Ap8+tAGFXblvDwnIiQNiVk0awjFwJEHblqh0sJocChF05bApLqrkAYVfNW8ACPBAg7PKgSSwxcwHCrszJnU5I2EXY5bSB0pxM2JWmJsdCwA8Bwi4/+sQqaydA2FU7e86cXwHCrvz2hpXlQ4CwKx99YBX5EiDsylc/WE0+BQi78tkXVlVbAcKu2vrbnp2wyyDsKr6MYfElDKOpfLLLdsvtP775sV9Jyy9+Fv9lw4svyAHf+/bwgJYW6fzUpwuD91x+pQxN6XA7WQ1n88muGuJz6lwLEHbluj0sLgcChF05aAJLyJ0AYVfuWsKCciZA2JWzhrCcXAgQduWiDSwi5wKEXTlvEMuriQBhV03YKz4pYZcl3arVa2XLy9tl6aLLpK21WTq7+i2PwPBigeZVn5eWzy5JRNnz1LMyNGt24ri8DmhtqpfBIZHe/sG8LpF1IVATgeiFfBkS6QnovjE0JBK9yMQNgTQEGuvrpLmpXvb1DKRxOI6BQBACjQ110tRQL129/twvhoaGpI4HhyD2nw9FRL+GTGxr5LmqD81ijZkJRPeLCW2NsidHr+Hw2JBZ+zmRocCE1kbp6umPX7/ihgACwwITWxtlX4b3i0ltjdA7CBB2WeI9/+ImWXHnvbLshgXS0T5JOvf1WR6B4cUCzbdHYdcNiSh7nnzG67CrpblBBgeHpC+gF/QTm8YABAwEmpsaom/pk96+cILgobo6qYsSL24IpCDQ0FAnzY0N8ZNObgggMCzQ2FAvTY110uVRCDwkdVIXvbuDGwJZCNRFL8w0yZ4unqtmwc05/BCI3m8wIWf3i+hRgffI+bF/tKwyDrt6B+LXr7ghgMCwQPRGiX3dAxK9QSGLW3wFJG4VCxB2WdKVhl1cxtASsGQ4lzF082M2Ar4LcBlD3zvI+qstwGUMqy3M8X0U4DKGPnaNNWcpwGUMs9TmXL4IcBlDXzrFOmspwGUMa6nPufMqwGUM89qZsddF2JXQr588/Gs58og3yOzDZsYjo8sYRrdrF86P/0vYld6Gb3nk5zLtvLnxAYcmt8vmjZvTO3iNj8R3dtW4AZw+twKEXbltDQvLiQBhV04awTJyJUDYlat2sJgcChB25bApLKnmAoRdNW8BC/BAgLDLgyaxxMwFCLsyJ3c6IWFXAt/6Dc/KpVcvL4yae+acwvd1EXY57b1Rkwm70vXkaAj4IEDY5UOXWGMtBQi7aqnPufMqQNiV186wrrwIEHblpROsI08ChF156gZryasAYVdeO8O6ailA2FVLfftzE3bZm+03g092OQIWTW96YoO03/SZ+G8GJ0yU7d/5p/QOXuMj8cmuGjeA0+dWgLArt61hYTkRIOzKSSNYRq4ECLty1Q4Wk0MBwq4cNoUl1VyAsKvmLWABHggQdnnQJJaYuQBhV+bkTick7HLi4zKGjnxqphN2qWk1hVoKEHZZgjFcnQBhl7qWU7CBAGGXARJDVAsQdqluP8WPI0DYxdZAIFmAsCvZiBH6BAi7/Oo5YZdjv/hklyOgkumEXUoaTZnWAoRd1mRMUCZA2KWs4ZRrJEDYZcTEIMUChF2Km0/p4woQdrE5EEgWIOxKNmKEPgHCLr96Ttjl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmJAjgfrNm6Rx4+/jFQ1Nmix9J5yY+uoIu1In5YABCBB2BdBESqiqAGFXVXk5uKcC9XUi0zvaZMv2Lk8rqN2y6195WRr/49nh33lb26Tv5FNqtxjOXFUBwq6q8nJwTwUIu/xqHGGXRb/Wb3hWLr16udxzx2I55cSj4pmEXRaAiocSdiluPqWXFSDsYoP4LDDha1+R9sXXxiX0vvVUefXHD6deDmFX6qQcMAABwq4AmkgJVRUg7KoqLwf3VICwq/LGtd1/n3Rcfkl8gIEjZsnW9U9VfjBm5lqAsCvX7WFxNRIg7KoRfIWnJewyhBsJuqLhhF2GaAwrCBB2sRkQGFuAsIud4bMAYZfP3WPtPgsQdvncPdaehQBhVxbKnMM3AcKuyjtG2FW5nW8zCbt86xjrzUKAsCsL5fTOQdhlYPn8i5tkxZ33yvWfuFBuWLZGrls4n092Gbgx5HUBwi52AwKEXeyB8AQIu8LrKRX5IUDY5UefWGXtBAi7amfPmfMrQNhVeW8Iuyq3820mYZdvHWO9WQgQdmWhnN45CLsSLKOg68Zla+SWJQtk6pRJcsXi2wm70tt/ao5E2KWm1RRqKcAnuyzBGF5zgSmfXCgHfPeb5dfR1CSbNu9KZa1cxjAVRg4SmABhV2ANpZzUBQi7UiflgAEIEHbZNXHyzTfIxC/fkThp88bNMjS5PXEcA/wQIOzyo0+sMlsBwq5svV3PRthVRnDHrk5ZcusaWXTlBTL7sJkS/Vwadg0MDrn2gPkKBOqjZ5wyJGwXBc2mRCuBEO8b/YND0hg9m+YWpED9ZZdJ3TfuSQy7Brp7Uqk/eviokzoZHOL3jVRAOUgQAj7eL/oHhqSxgceGIDagB0VEO62+vk54rupBs1hiZgJ5vF/0DwxKY0N9ZgY2J6q//nqpW/n5xCkD23eItBN2JUJ5MqChvk4GB4eEZx6eNIxlZiKQ9f0iOh+3ygUIu8rYRZ/qWnj9Stm8dduoUSPf27V1R3fl+sxUIzDpgEYZGBDZ19OvpmYKRcBEYEJbY5QDy97ugO4b0TMDfjcxab+XYyZfdbm0fSf5k11bt+5Opb7mxnqJ7ic7OntTOR4HQSAEgZamBmlrqZede/q8KSd62SgKrrkhkIlAncj09lZ5eSfPVTPx5iReCERvlDiwvVVeydP9IsfPGyb91yVywJeSP9n18gtb+GSXF/cAs0VOm9wiO/f2ysAAcZeZGKM0CBzY3iLbO3vjIDiLW/RJMm6VCxB2WdiN9cmuTdu6LI7AUK0CXMZQa+epO0mAyxgmCfH/8ybQ+Pv/kPqtW+Jltf3on2XCV++M/9x/1DGy87+tGl5uXb30vv20VJbOZQxTYeQggQlwGcPAGko5qQtwGcPUSTlgAAJcxtCuiQ0v/EEa/vRSPKnlX34hkz6/LP7z4IxDZPvqfywcrHfOO0QaGuwOzujcCnAZw9y2hoXVUIDLGNYQv4JTE3ZZoBF2WWAxdD8Bwi42BAJjCxB2sTN8Fpjwta9I++Jr4xJ633qqvPrjh1Mvh7ArdVIOGIAAYVcATaSEqgoQdlWVl4N7KkDYVXnj2u6/TzouvyQ+wMARs2Tr+qcqPxgzcy1A2JXr9rC4GgkQdtUIvsLTEnZZwBF2WWAxlLCLPYCAgQBhlwESQ3IrQNiV29awsMAFCLsCbzDlOQsQdjkTcoAABQi7Km8qYVfldr7NJOzyrWOsNwsBwq4slNM7B2GXoyWXMXQEVDKdT3YpaTRlWgsQdlmTMSFHAk2//Y20/vQn8YoGZv6Z7Lv40tRXxye7UiflgAEIEHYF0ERKqKoAYVdVeTm4pwKEXZU3rvGZf5e2B38YH2BwSofsvfzKyg/GzFwLEHbluj0srkYChF01gq/wtIRdFcKNTCPscgRUMp2wS0mjKdNagLDLmowJygQIu5Q1nHKNBAi7jJgYpFiAsEtx8yl9XAHCLjYHAskChF3JRozQJ0DY5VfPCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgn3tecRAAAgAElEQVQQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxL69fyLm2Th9Stl89Zt8ci5Z86RpYsuk7bW5vhnwi6/NnytVmsSdk24+6tS/+or8RK7zj5H+o87oVbL5bwIZCZA2JUZNSfyVICwy9PGseyqChB2VZWXgwcgQNgVQBMpIXWB+jqR6R1tsmV7V+rH5oAIhCJA2BVKJ6kjTQHCrjQ1q38swq4E4/vXPSKHzpwup5x4VDxy1eq18X+vXTg//i9hV/U3aQhnMAm7pr/jZGl87pm43B1fXiNd518UQunUgEBZAcIuNggC5QUIu9ghCIwWIOxiVyBQXoCwix2CwGgBwi52BQLJAoRdyUaM0CdA2OVXzwm7LPsVhV+PPv504dNdhF2WgEqHE3YpbTxlJwoQdiUSMUC5AGGX8g1A+WMKEHaxMRAg7GIPIGArQNhlK8Z4jQKEXRq7Ts1JAoRdSUL5+v+EXRb96OrulZtX3C0zpk/lk10WbgwVGTPs6u+XSav+W4Gn+DKG3WefI32vXcaw9+RTpOfMv4QRgSAFCLuCbCtFpShA2JUiJocKRoCwK5hWUkiVBPhkV5VgOazXAoRdXrePxWckQNiVETSn8UqAsMurdglhl2G/ossXfv2760Z9Z9f2zl7DIzBMs8CE1kYZGByS7t6B1xm6u2Xq9PZElu6Pf0L23bYqcRwDEPBRoK2lUWRoSLqK7xs+FsKaEaiSQFNjnbQ2N0rnvr4qnYHDIuCfQHNjvURBcGdXv3+LZ8UIZCAQhV0dE5uF56oZYHMKbwSisKt9YrPsyNNrOEMiUucNIQtVIDBlQrN0dvXFr19xQwCBYYEpE5tl974+GczofjF1UjP0DgKEXZZ4pZcx3C+8sDwWw/UINDbURa/n7/8LQ3e3tLZPTEQY+MQnpW/V7YnjGICAjwLRfSO69Q+E88t09MSgIXo2zQ2BFATq6+okup/09g+mcDQOgUAYAvX1dfG/s30e3S94bAhj7/lURUtTg/T0Fb3RzqfFs1YEqiSQt/sFjw1VajSHrViguak+/v0qev2KGwIIDAtEb7Lr7RuUrO4W0VUsuFUuQNhlaff8i5tkxZ33yrIbFkhH+yThO7ssAZUOH/Myhr29cuC8cwoiTf/2uNTt2xf/3P/GN8vg9Onxn7vO+Yjs/duPK5Wj7NAFuIxh6B2mPlcBLmPoKsj8EAW4jGGIXaWmNAW4jGGamhwrFAEuYxhKJ6mjmgJcxrCauhzbVwEuY+hX5wi7Evr11W89KGeefrLMPmxmPDK6nOGWl7fL0kWXSVtrM2GXX/u9ZqsdM+wqWc30d5wsjc89E//tji+vka7zL6rZejkxAlkJEHZlJc15fBUg7PK1c6y7mgKEXdXU5dghCBB2hdBFakhbgLArbVGOF6IAYVeIXaUmVwHCLlfBbOd7F3ZFn6xaeP1K2bx12yip44+eJXctvyb+xFVat/UbnpVLr15eONzcM+cUgq7oL/lkV1rSYR+HsCvs/lJd5QKEXZXbMVOHAGGXjj5TpZ0AYZedF6P1CRB26es5FScLEHYlGzECAcIu9gACowUIu/zaFV6FXV3dvXLzirtlzsnHyFuOPVK+ff9PZdEVF8SfsIo+cXX6206QU048KtMOEHZlyu3tyQi7vG0dC6+yAGFXlYE5vPcChF3et5ACqiBA2FUFVA4ZlABhV1DtpJiUBAi7UoLkMEELEHYF3V6Kq1CAsKtCuBpN8yrs2rGrU5bcukYWXXlBzFX83VnRJ7Due/Dh/T51lYUpYVcWyv6fwyTs8r9KKkDAXoCwy96MGboECLt09ZtqzQQIu8ycGKVXgLBLb++pfHwBwi52BwLJAoRdyUaM0CdA2OVXz70Nu6ZOmSTLvvBtWfJ3F8WXLYwub1gcfmXVBsKurKT9Pg9hl9/9Y/XVEyDsqp4tRw5DgLArjD5SRboChF3penK08AQIu8LrKRW5CxB2uRtyhPAFCLvC7zEV2gsQdtmb1XKGV2FX8WUMzzv7nfGlCw8/dIZEf75/3SPy6ONP88muWu4mzj2uAGEXmwOBsQUIu9gZCJQXIOxihyAwWoCwi12BQHkBwi52CAKjBQi72BUIJAsQdiUbMUKfAGGXXz33KuwqpY0ua3jF4tvlyWc2yiEHT5PVt10nsw+bmWkH+GRXptzenoywy9vWsfAqCxB2VRmYw3svQNjlfQspoAoChF1VQOWQQQkQdgXVTopJSYCwKyVIDhO0AGFX0O2luAoFCLsqhKvRNK/DrhqZ7Xdawq48dCH/ayDsyn+PWGFtBAi7auPOWf0RIOzyp1esNDsBwq7srDmTnwKEXX72jVVXV4Cwq7q+HD0MAcKuMPpIFekKEHal61nto3kVdkWf5Fpy6xpZdOUFoz7BtX7Ds3Lfgw9zGcNq7xiOX5EAYVdFbExSIEDYpaDJlOgkQNjlxMfkQAUIuwJtLGWlJkDYlRolBwpIgLAroGZSStUECLuqRsuBPRYg7PKrecGEXc+/uElW3HmvLLthgXS0T8qsC3yyKzNqr09E2OV1+1h8FQUIu6qIy6GDECDsCqKNFJGyAGFXyqAcLjgBwq7gWkpBKQgQdqWAyCGCFyDsCr7FFFiBAGFXBWg1nBJM2HX/ukfk0cef5pNdNdxMnHp8AcIudgcCYwsQdrEzECgvQNjFDkFgtABhF7sCgfIChF3sEARGCxB2sSsQSBYg7Eo2YoQ+AcIuv3ruRdgVfWpr4fUrZfPWbePqHnLwNFl923WjLm9Y7Xbwya5qC4dxfMKuMPpIFekLEHalb8oRwxIg7Aqrn1STjgBhVzqOHCVcAcKucHtLZZULEHZVbsdMPQKEXXp6TaXmAoRd5lZ5GOlF2DUCVe47u2qFSdhVK3m/zkvY5Ve/WG12AoRd2VlzJj8FCLv87Burrq4AYVd1fTm6/wKEXf73kArSFyDsSt+UI4YnQNgVXk+pyF2AsMvdMMsjeBV2ZQljei7CLlMp3eMIu3T3n+rHFyDsYncgUF6AsIsdgsBoAcIudgUC5QUIu9ghCIwWIOxiVyCQLEDYlWzECH0ChF1+9Zywy7FfhF2OgEqmE3YpaTRlWgsQdlmTMUGZAGGXsoZTrpEAYZcRE4MUCxB2KW4+pY8rQNjF5kAgWYCwK9mIEfoECLv86nnuw67o0oVXLL5dnnxmY6Ls8UfPkruWXyMd7ZMSx6Y1gLArLcmwj0PYFXZ/qa5yAcKuyu2YqUOAsEtHn6nSToCwy86L0foECLv09ZyKkwUIu5KNGIEAYRd7AIHRAoRdfu2K3Iddeeck7Mp7h/KxPsKufPSBVeRPgLArfz1hRfkSIOzKVz9YTT4ECLvy0QdWkV8Bwq789oaV1U6AsKt29pzZHwHCLn96xUqzEyDsys46jTMRdjkqEnY5AiqZTtilpNGUaS1A2GVNxgRlAoRdyhpOuUYChF1GTAxSLEDYpbj5lD6uAGEXmwOBZAHCrmQjRugTIOzyq+eEXY79IuxyBFQynbBLSaMp01qAsMuajAnKBAi7lDWcco0ECLuMmBikWICwS3HzKZ2wiz2AgIMAYZcDHlODFSDs8qu13oVdXd29cvOKu+VHDz0qhxw8TVbfdp3MPPjA+O/mnHyMnHf2OzPtAGFXptzenoywy9vWsfAqCxB2VRmYw3svQNjlfQspoAoChF1VQOWQQQkQdgXVTopJSYBPdqUEyWGCFiDsCrq9FFehAGFXhXA1muZd2LVq9Vo5/NAZctZ75siKu+6Vi857r8w+bKas3/Cs3Pfgw7J00WXS1tqcGSdhV2bUXp+IsMvr9rH4KgoQdlURl0MHIUDYFUQbKSJlAcKulEE5XHAChF3BtZSCUhAg7EoBkUMEL0DYFXyLKbACAcKuCtBqOMWrsGvHrk5ZcusaWXTlBfGnuYrDrudf3CQr7rxXlt2wQDraJ2VGStiVGbXXJyLs8rp9LL6KAoRdVcTl0EEIEHYF0UaKSFmAsCtlUA4XnABhV3AtpaAUBAi7UkDkEMELEHYF32IKrECAsKsCtBpOCSbs4pNdNdxFnDpRgLArkYgBSgUIu5Q2nrKNBQi7jKkYqEiAsEtRsym1IgHCrorYmBS4AGFX4A2mvFQECLtSYeQggQkQdvnVUK/Croj2/nWPyKOPPy1L/u4i+eLdP4gvYzh1yiS5YvHtMv+cM/jOLr/2n5rVEnapaTWFWgoQdlmCMVydAGGXupZTsIEAYZcBEkNUCxB2qW4/xY8jQNjF1kAgWYCwK9mIEfoECLv86rl3YVfEG32K69Krl+8nfc8di+WUE4/KXJ/LGGZO7uUJCbu8bBuLzkCAsCsDZE7htQBhl9ftY/FVEiDsqhIshw1GgLArmFZSSIoChF0pYnKoYAUIu4JtLYU5CBB2OeDVYKqXYVcNnMY9JWFXnrqR37UQduW3N6ystgKEXbX15+z5FyDsyn+PWGH2AoRd2ZtzRr8ECLv86herzUaAsCsbZ87itwBhl9/9Y/XVESDsqo5rtY5K2OUoS9jlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmU/q4AoRdbA4EkgUIu5KNGKFPgLDLr57nPuzasasz/j6uJ5/ZmCh7/NGz5K7l10hH+6TEsWkNIOxKSzLs4xB2hd1fqqtcgLCrcjtm6hAg7NLRZ6q0EyDssvNitD4Bwi59PafiZAHCrmQjRiBA2MUeQGC0AGGXX7si92FXKeeq1Wvl8ENnyHlnv7Pwv7q6e+XmFXfLvHPOyPx7uwi7/NrwtVotYVet5Dlv3gUIu/LeIdZXawHCrlp3gPPnUYCwK49dYU15EiDsylM3WEteBAi78tIJ1pFnAcKuPHeHtdVKgLCrVvKVndersCv6lNeSW9fIoisvkNmHzdyv4vUbnpX7HnxYli66TNpamyvTqGAWYVcFaAqnEHYpbDolGwkQdhkxMUixAGGX4uZT+rgChF1sDgTKCxB2sUMQGC1A2MWuQCBZgLAr2YgR+gQIu/zqeTBh1/MvbpIVd94ry25YwGUM/dqDKlZL2KWizRRZgQBhVwVoTFElQNilqt0UayhA2GUIxTC1AoRdaltP4WUECLvYHggkCxB2JRsxQp8AYZdfPfcq7Bq5XOGck4/Z7zKGEXn0ya6Vq9em/p1d0XEvvXp5oatzz5yz36fH+GSXXxu+Vqsl7KqVPOfNuwBhV947xPpqLTBW2DXj+COlfvOmeGnbv7lWus/6YK2XyfkRyFRgrLDrkNkzpW7Xzngd277/oPSccWama+JkCORJgLArT91gLXkRIOzKSydYR54F0g67ot/Not/RRm5b1z8lA0fMyjMBa0NglABhl1+bwquwK6KNwqcly9bI6tuuK1zKMLq84RWLb5f555wxKgRzbcf96x6RQ2dOj78LbCRsmzF9qly7cH58aMIuV2Ed8wm7dPSZKu0FCLvszZihS4CwS1e/qdZMgLDLzIlRegUIu/T2nsrHFyDsYncgkCxA2JVsxAh9AoRdfvXcu7Ar4h0Jt558ZmNB+547FseBVLVvUfj16ONPFz7dRdhVbfEwjk/YFUYfqSJ9AcKu9E05YlgChF1h9ZNq0hEg7ErHkaOEK0DYFW5vqaxyAcKuyu2YqUeAsEtPr6nUXICwy9wqDyO9DLtqCbdq9dr49Hyyq5Zd8O/chF3+9YwVZyNA2JWNM2fxVyAOu7o6pe6j5xWKaF7/mEhvb/xz/9HHyuDUqfGf951/kez72H/2t1hWjoChQBx2bX9Z6i/62Ov3i8d+JdLfP3y/OPZ4GZwyJf7z3v98mXR99HzDIzMMgTAECLvC6CNVpCtA2JWuJ0cLUyCNsKvpiQ3SftNnhoH6+6U5+h3ttVvfyafIUGtr/NPu62+U3ne8M0xIqgpKgLDLr3YSdln0a6zvBevuHbA4AkO1CjQ21MnQkMjA4JBWAupGYEyB6L4R/w48EM59Y3BoSOqjV5m4IZCCQH19nTS+vFXq/+z1a92Pd9j+Gz4r/Td/LoWzcggE8i3QUF8n9S/8QRreeGTiQvv/4RbpX/TaCy6Jo6s3IPoVMHqhlRsCWQhEv4Y0NzZITx/PVbPw5hx+COTxfsHzBj/2jqZVNjfVS1//YPz6VaW3+p/9TJrP+svE6X3f+o4MzBv+ihhuCORZIHoDaq/j/cKmvuiNfdwqFyDsMrQb67vCoqnbdvcYHoFhmgUmtDbGQRfhqOZdQO1jCbS1NEr0m3RXYG8cqCPsYsOnJNDUUCetO16Vpjckh11dn7lBum68OaUzcxgE8ivQ1FgvrS+9IE1vfmPiIvd97h+k+9pFieOqPWBoaEh4bKi2MscvFpg6qVm2dw5/CpgbAgiIRO83mDKpWXbk6H4xFL0TgjdCsD1zJDBlQrN0dvU5vVG76eGfy+Rzz0qsqvMfvym9581LHMcABGotMGVis+ze2yfRGxSyuE2b3JLFaYI9B2GXQWvHC7qiqXxnlwEgQ4TLGLIJEBhbgMsYsjMQKC8QX8ZwoEd6l99WGDjxzi9I3Z7O+Oeu8+ZJ/5Fviv/c8/bTpPe0d0GKQPAC8WUM9+2WvlV3FGqd9IWVIt3dw/eL+R+T/sOPGL5fvPPd0jvn7cGbUCACxQJcxpD9gMBoAS5jyK5AIFkgjcsYNrz4ghzwvW/HJ6vr7paJ0e9or932Xn6lDE7pGP597UMfkf6jjkleFCMQqLEAlzGscQMsT0/YlQA21qULi6cQdlnuOKXDCbuUNp6yEwUIuxKJGKBcIA672pr2+yT5jOOPlPrNm2KZ7d9cK91nfVC5EuVrE4jDrpaG/T61csjsmVK3a2dMse37D0rPGWdqY6FeBAoChF1sBgRGCxB2sSsQSBZII+wqPkv0u1n0O9rIbev6p2TgiFnJC2EEAjkSIOzKUTMMlkLYlYC0avVa+fp31+036pCDp8nq266T2YfN5JNdBpuMIcInu9gECIwjQNjF1kCgvABhFzsEgdEChF3sCgTKCxB2sUMQIOxiDyBQiQBhVyVqzAldgLDLrw4Tdjn2i092OQIqmc4nu5Q0mjKtBQi7rMmYoExgrLBrvMsYKqOhXMUCY4Vd0SVyokvlRLd98z8mA69dxlAxE6UrFiDsUtx8Sh9XgE92sTkQSBZIO+yKLjEdX2r6tduey6+UodcuY5i8GkYgkA8Bwq589MF0FYRdplLjjCPscgRUMp2wS0mjKdNagLDLmowJygTGCruUEVAuAqMExgq7YEIAgdcFCLvYDQiMFiDsYlcgkCyQetiVfEpGIJB7AcKu3LdovwUSdjn2i7DLEVDJdMIuJY2mTGsBwi5rMiYoEyDsUtZwyjUSIOwyYmKQYgHCLsXNp/RxBQi72BwIJAsQdiUbMUKfAGGXXz0n7HLsF2GXI6CS6YRdShpNmdYChF3WZExQJkDYpazhlGskQNhlxMQgxQKEXYqbT+mEXewBBBwECLsc8JgarABhl1+tJexy7BdhlyOgkumEXUoaTZnWAoRd1mRMUCZA2KWs4ZRrJEDYZcTEIMUChF2Km0/phF3sAQQcBAi7HPCYGqwAYZdfrSXscuwXYZcjoJLphF1KGk2Z1gKEXdZkTFAmQNilrOGUayRA2GXExCDFAoRdiptP6YRd7AEEHAQIuxzwmBqsAGGXX60l7HLsF2GXI6CS6YRdShpNmdYChF3WZExQJkDYpazhlGskQNhlxMQgxQKEXYqbT+mEXewBBBwECLsc8JgarABhl1+tJexy7BdhlyOgkumEXUoaTZnWAoRd1mRMUCZA2KWs4ZRrJEDYZcTEIMUChF2Km0/phF3sAQQcBAi7HPCYGqwAYZdfrSXscuwXYZcjoJLphF1KGk2Z1gKEXdZkTFAmQNilrOGUayRA2GXExCDFAoRdiptP6YRd7AEEHAQIuxzwmBqsAGGXX60l7HLsF2GXI6CS6YRdShpNmdYChF3WZExQJkDYpazhlGskQNhlxMQgxQKEXYqbT+mEXewBBBwECLsc8JgarABhl1+tJexy7BdhlyOgkumEXUoaTZnWAoRd1mRMUCZA2KWs4ZRrJEDYZcTEIMUChF2Km0/phF3sAQQcBAi7HPCYGqwAYZdfrSXscuwXYZcjoJLphF1KGk2Z1gKEXdZkTFAmQNilrOGUayRA2GXExCDFAoRdiptP6YRd7AEEHAQIuxzwmBqsAGGXX60l7HLsF2GXI6CS6YRdShpNmdYChF3WZExQJkDYpazhlGskQNhlxMQgxQKEXYqbT+mEXewBBBwECLsc8JgarABhl1+tJexy7BdhlyOgkumEXUoaTZnWAoRd1mRMUCZA2KWs4ZRrJEDYZcTEIMUChF2Km0/phF3sAQQcBAi7HPCYGqwAYZdfrSXscuwXYZcjoJLphF1KGk2Z1gKEXdZkTFAmQNilrOGUayRA2GXExCDFAoRdiptP6YRd7AEEHAQIuxzwmBqsAGGXX60l7HLsF2GXI6CS6YRdShpNmdYChF3WZExQJkDYpazhlGskQNhlxMQgxQKEXYqbT+mEXewBBBwECLsc8JgarABhl1+tJexy7BdhlyOgkumEXUoaTZnWAoRd1mRMUCZA2KWs4ZRrJEDYZcTEIMUChF2Km0/phF3sAQQcBAi7HPCYGqwAYZdfrSXscuwXYZcjoJLphF1KGk2Z1gKEXdZkTFAmQNilrOGUayRA2GXExCDFAoRdiptP6YRd7AEEHAQIuxzwmBqsAGGXX60l7HLsF2GXI6CS6YRdShpNmdYChF3WZExQJkDYpazhlGskQNhlxMQgxQKEXYqbT+mEXewBBBwECLsc8JgarABhl1+tJexy7BdhlyOgkumEXUoaTZnWAoRd1mRMUCZA2KWs4ZRrJEDYZcTEIMUChF2Km0/phF3sAQQcBAi7HPCYGqwAYZdfrSXscuwXYZcjoJLphF1KGk2Z1gKEXdZkTFAmQNilrOGUayRA2GXExCDFAoRdiptP6YRd7AEEHAQIuxzwmBqsAGGXX60l7HLsF2GXI6CS6YRdShpNmdYChF3WZExQJkDYpazhlGskQNhlxMQgxQKEXYqbT+mEXewBBBwECLsc8JgarABhl1+tJexy7BdhlyOgkumEXUoaTZnWAoRd1mRMUCZA2KWs4ZRrJEDYZcTEIMUChF2Km0/phF3sAQQcBAi7HPCYGqwAYZdfrSXscuwXYZcjoJLphF1KGk2Z1gKEXdZkTFAmQNilrOGUayRA2GXExCDFAoRdiptP6YRd7AEEHAQIuxzwmBqsAGGXX60l7HLsF2GXI6CS6YRdShpNmdYChF3WZExQJkDYpazhlGskQNhlxMQgxQKEXYqbT+mEXewBBBwECLsc8JgarABhl/7X/E4AACAASURBVF+tJexy7BdhlyOgkumEXUoaTZnWAoRd1mRMUCZA2KWs4ZRrJEDYZcTEIMUChF2Km0/phF3sAQQcBAi7HPCYGqwAYZdfrSXscuwXYZcjoJLphF1KGk2Z1gKEXdZkTFAmQNilrOGUayRA2GXExCDFAoRdiptP6YRd7AEEHAQIuxzwmBqsAGGXX60l7HLsF2GXI6CS6YRdShpNmdYChF3WZExQJkDYpazhlGskQNhlxMQgxQKEXYqbT+mEXewBBBwECLsc8JgarABhl1+tJexy7BdhlyOgkulJYdfEL66Suq6uWGPfvAtl4IhZSmTcy6zbt08mfun2woH2fPwqGZrc7n5gjpCJAGFXJsycxGMBwi6Pm8fSqyZA2FU1Wg6cpcDAgExaubxwxsEpHdL82K+k4dWXpf/wWdL14Y9Kz7vfW9GKahl2NT2+Xlof+l/xugf+7A2y76JLKqqBSeYC0b5p+cXP4gn9hx0uXedfZD7ZceSEr31F6rdvi4/SNfdD0n/s8Y5HNJ9et3uXTPzKl15/HnjVNTJ0wAHjHqC+TmR6R5ts2T78vJsbAr4KHHDP16Th5a3x8rs/MFf6TjgxtVKyCLva7r9PGn//H/Gae95+mvSe9q7U1p/lgRqfekLa1j0Yn3LwwINk72WXZ3l6zpWhAGFXhtgpnIqwyxDx+Rc3yYo775VlNyyQjvZJhVmEXYaAyoclhV0z3nRo4UnCtrUPSM973qdczLz8+ldfkRlHHVaYsHXDczLwhkPND8DImgoQdtWUn5N7IEDY5UGTWGLmAoRdmZNzwmoI9PbKzJlTCkfuO+lkafq3xws/77nyU7L7/1tW0ZlrGXZNWP1lab9xUbzu3lPnyKvrhkMYbtUTiN44OXnpZ+MT9Jx+hmz7wbrqnazkyNPnnFh40XrHXV+XrnkXZnbuhpf+KAefdFThfFue+6MMTjtw3PMTdmXWGk5UZYGDzpgjTU89EZ9l5x13yr6LL03tjFmEXVMvnietP/5RvObOTy+RzsU3pbb+LA90wL3fkilXDQdc/UcdIy//8jdZnp5zZShA2JUhdgqnIuxKQNyxq1OuWHy7PPnMRjn+6Fly1/JrCLtS2HjaDkHYVb2OE3ZVzzaLIxN2ZaHMOXwWIOzyuXusvVoChF3VkuW4mQoQdmXKHfLJCLuGu0vYFfIup7ZiAcKufOwHwq589CGLVRB2ZaGc3jkIuwwt+WSXIRTDxhQYFXb19Ejzbx4rjJ128Xyp69wd/7x76a3Se+JfxH8eOOwIPqU0hmjdju3S9PRT8f+p371bpv71/MKoHV/7pgwcdFD8c/TumnLv7mO71l6AsKv2PWAF+RYg7Mp3f1hdbQQIu2rjzlndBaLf95ue2BAfqK6/X6Z99IOFgw4ceJA0vPpK4eee094p3R/4oAy2t0v/cSdI3/FvMV5A1p/savzdc1L/2iW12v7HAzJhzV3Dv4sffazsXL5yeN119dL79tOMa2BgeYHG556R6E1/0e2A+++TA77x9fjPfW85SXaNfCKwoVF657w9XcrBQWn+1S8Lx+y48m+l4U//N/55zzXXS/cZ74n/PDDzDVW5NH/9tlel8dmn43M0vPKKdPztXxfWsv2ba2Vw8uRhh2OPl6EpHfvVzie70t0KHC1bgeZ/feT1+93VV0rDHzYO3+8+ea10v/cvh+93M2bKwOwjnRZWrU92Na9/TKS3J17b5FuXxpftjW77zr9I9n1s+H482DFV+o85zmn91Z7csPF5adj8p/g0rT9/SCbesWLY/s8Pkx1fXF04fe/bTxeJHoy5BSFA2OVXGwm7DPs1Xti1ZQfXezYkDHSY2YPX5LZG6R8ckn09A7FDdMmFg97y5kSTzs8ulb3XXp84TtuAlof+l3TMOzex7B3//V7p+WDyuMQDjTPArPuVHl3HvAltjSJDQ7K3e/i+EcZtKHpFJ4xSqKLmAs1N9TKhtVF2dPbWfC0sAIG8CLQ0N0hbc73s3NOXlyUZrCN6XIgeH7hpFmha/5hMff8Z1gR97zhdtj84/D1YJrfo9bWD2lvl5Z3dJsOdx7Rf8TfS+r3vlD9OS4ts3bzT+VwcYFig/bKLpfWH/1SWI/oe45df2JIqWd3evTL90PEvFThysn1XfFI6b7kt1XNHB2t58Icy5ZLkSyXuuO+fpffM/b8aIAq7prW3yisZ3S/Miud5g5mT8lEDA3LwQRMTEbr+ywLZvfILiePKDZg2uUV27umRgUGnw4yafNBxR0r9puGQaLxbz/s+IDu/94N0T5zy0SYtvk4O+OqdiUeNH+9aWsr/G514FAbkReCg9hbZvrtHBlL9VX78g83oaMtL6V6ug7DLsG3jhV0D6e50w9UwLD8CZv/S1UW/WQ9Fr+m/Nv7FF6Vh9qzEMgb//h9kaMmSxHHaBtT95MdSP3duYtmD3/++DH34I4njKh1g1v1Kj65jXv1r73YaHLlvBFD2wOCQNDbUB1AJJeRBIHp5vK6uTkK6j+TBlTX4LeDj/aJ/IHps4I0Qfu+8FFb/q19Jw2nvsD/Qu94lAz/7udW8hvo6iX4nyeJWf8klUvetb5Y/VUuLDOzjjaJp9aP+gguk7r615Q/X3i4D23ekdcrh4+zdKw2TX/8O8/EOPvSpq2Vw1ap0zx39TnT//VI/768Sjzu47n/K0PvfP2pclveLxEVGn37sH5QGHhtMqHSPGRiQxpbmRIPBhQtl8MvJQUy5A0X3keiho/DaVeJZzQY0HvbnIn8qH3YNnXW2DDz4oNkBazSq/upPSf2XvpR49v69+xLDLn4rTGTMzYD61+4X0Ru107uNvwN4XHBTJuwy9OMyhoZQDBtToPQyhqVfpjse2+4bPxdfDoLb/gLRJ7umnf/hRJbt37hXuud+KHEcA2onwGUMa2fPmf0Q4DKGfvSJVWYrwGUMs/XmbOkJRJdxOvCsd1sfsPcdp8urD/zEeF7WlzGMLmXXtjb5k12b/pRy8GIsEt7A6PJ9bQaf7Nq8cXOqxUef7DrksOFLxpe77f34VbLrH9L/ZFfr/3hApl6a/MmubWsfkJ73jP5k1/SONtmyndA1qX/8/5wJDAzIzIOTQ+a9l/6t7Pq82ye7qnUZwxnHHyn1mzeVhY0+2bXtu/fnDH//5bQvua5wqd5yC40f7xI+2ZXrQlncfgJcxtCvDUHYZdgvwi5DKIaNKTDqO7tKRs1406FSv31b/Ldj/WIO6/gC0bXqZxx1WGHA1g3P8T1nHm0Ywi6PmsVSayJA2FUTdk6acwHCrpw3iOWZCfT2ysyZUwpj+046WZr+7fHCz3uu/JTsHvnuJbMjFkZlHXYVL2/C6i9L+42L4r/qPXWOvLruZ5arZ7itwMQvrpLJSz8bT+s5/QzZ9oN1toeoePz0OSdK4+//I56/466vS9e85CCq4pOVTCx9A+mW5/5Y9vua+c6utOQ5Tq0FDjpjjjQ99US8jJ133Cn7Lr40tSVVK+wqXuDUi+dJ649/FP9V56eXSOfim1Jbf5YHOuDeb8mUqy6PTxl9X/zLv/xNlqfnXBkKEHZliJ3CqQi7DBEJuwyhGDamAGFX9TYGYVf1bLM4MmFXFsqcw2cBwi6fu8faqyVA2FUtWY6bqQBhV6bcIZ+MsGu4u4RdIe9yaisWIOzKx34g7MpHH7JYBWFXFsrpnYOwK8Fyx65OuWLx7fLkMxsLI//mwrPl2oXz4583beMj8Oltx3CPRNhVvd4SdlXPNosjE3Zlocw5fBYg7PK5e6y9WgKEXdWS5biZChB2Zcod8skIuwi7Qt7f1DZagLArH7uCsCsffchiFYRdWSindw7CLkdLwi5HQCXTk8Ku5sd+JdLfF2v0HXu8DE3pUCKTQpl9fdL8618VDtT71rdxbeQUWLM6BGFXVtKcx1cBwi5fO8e6qylA2FVNXY6dmcDQkDT/738pnG6wuUWanv+d1O/cKQMzDpG+t5wkA0fMqmg5tbyMYfSdLI0bfx+ve2jSZOk74cSKamCSuUDDn/6vNLww/ObcwfYp0n/cCeaTHUc2/fY3Ute1Lz5K/xvfLIPTD3Y8osX0nh5p/s1jrz8PPPU/iTQ1jXsALmNoYcvQXAs0bfit1O3dM3y/O/JNMnjwjNTWm8VlDBuf+ffC13gMHHqYDPz5619LkVohGRyo/uWt0vi754Yf7w6YINHliLmFKUDY5VdfCbsc+0XY5QioZHpS2KWEgTIRGCVA2MWmQKC8AGEXOwSB0QKEXewKBMoL1DLsojcI5FWAsCuvnWFdeRLIIuzKU72sBQETAcIuE6X8jCHscuwFYZcjoJLphF1KGk2Z1gKEXdZkTFAmQNilrOGUayRA2GXExCDFAoRdiptP6eMKEHaxORBIFiDsSjZihD4Bwi6/ek7Y5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2OXYL8IuR0Al0wm7lDSaMq0FCLusyZigTICwS1nDKddIgLDLiIlBigUIuxQ3n9IJu9gDCDgIEHY54DE1WAHCLr9aS9jl2C/CLkdAJdMJu5Q0mjKtBQi7rMmYoEyAsEtZwynXSICwy4iJQYoFCLsUN5/SCbvYAwg4CBB2OeAxNVgBwi6/WkvY5dgvwi5HQCXTCbuUNJoyrQUIu6zJmKBMgLBLWcMp10iAsMuIiUGKBQi7FDef0gm72AMIOAgQdjngMTVYAcIuv1pL2GXQr/vXPSI33XZ3PHLumXNk6aLLpK21Of6ZsMsAMGFI2w++LxPuWROP6jvuBNl1ywr3g+bsCD6FXVMvnif1nbtjwV1Ll0nfiX8xrua0j35Q6vr74v+/87Y7pP/NR9dMPk9rqRlCzk7ctOG30n7zknhVgxMnyfZvf3/UCgm7ctY0lpM7AcKu3LUkNwuafNNnpPmJDfF69l66QLo+8le5WVu1F0LYVW1hju+7QJZh15Srr5TGPzwfk3V+8lrpee/79+Or27NHpl300cLfbV99jwzOOMR3Ymm7/z6Z8I2vxXX0vuUk6bzmepl26YWv1/n1b8nEO78gzY//evjf6Ysuka75H/O+bp8LqK8Tmd7RJlu2d/lcBmtHoKoChF1V5Q3y4O03LpKmp56Ia9tz2ULpPve84Ook7PKrpYRdCf1av+FZWbl6rdy1/BrpaJ8kq1avjWdcu3B+/F/CLvcNP/HLd8jkm28YfqLwjtPl1Qd+4n7QnB3Bp7BrxpsOlfrt22LBbWsfkJ73vG9czZkzJov098f//5UfPyx9bz21ZvJ5WkvNEHJ24paf/1SmzftQvKqhKR2y+fd/GrVCwq6cNY3l5E6AsCt3LcnNgg788FnS/MtfxOvZ/blbZM9V1+RmbdVeCGFXtYU5vu8CWYZdB50xp/Ai18477pR9F1+6H1/drp1yyOyZhb/buv4pGThilu/EMvGLq2Ty0s/GdfScfobs+MrdMuPY1+va8sTvpOPaq6Tlp8PPbTsX3ySdnx5+Exi32ggQdtXGnbP6JUDY5Ve/8rDaA899vzT/678MPydZukz2fOJTeVhWqmsg7EqVs+oHI+xKII7CrcMPnSHnnf3OeGRp+EXY5b5HCbvcDdM8AmFXmpq6j0XYpbv/VJ+OAGFXOo4hHoWwq0G2d/aG2FpqQsBZgLDLmTDxAIRdiUS5G0DYlbuWsKAcChB25bApOV8SYVf6DZo5rS39gyo6ImFXmWZ3dffKzSvuljknH1MIu55/cZPcuGyN3LJkgcw+bCaf7KrwztL64A+l6Zl/j2c3//pRaXn4ofjPA4f+uey78K/jPw81N8ueqxdVeIZ8TcvzJ7vqdu+SiV/5UgEseuJW1zV8aYeueRdK/2vvvIzesdg/+0iZcM/w5Tqi26TPLxMZHIz/HL2Lc2Dmn8V/7n7fB6TvpJOr2oT6l7fmZi1VLdSzgzc/+r+l5ZGfx6tu/MNGabvvu8MVtLZK599dV6hmz8JPyFD7FOGTXZ41mOVmLkDYlTl5rk848f//vNT19MRrPODeb0nDH1+M/9xzxpnSe+qc+M99Rx0j3R/6SK7rcF0cn+xyFWR+6AJVDbuGhmTSilsLhNFzg+j38vg5wAfmSt8JJ0r9zp1Sv+0V6Z/9Rqnr7paJX1hZGL/38itlcEpH/HPXhz4i/Ucd4007Wv/5B9L07NPxepsf+5W0/OJn8Z+j32n73vRmaV7/WKGW3reeKo3P/07qd+yI/673tHdJz9tPi//cf+SbpOu8ed7UHcpCCbtC6SR1VFOAsKuauuEce+Ltt0ld3/BXmhzw3W9Kw0t/jP/c8+73Su8pb4v/3Hf0sdJ9zoeDKJpPdvnVRsKuMv0aCbvmnXOGnHLiUfHI0rDLr3bnaLUXXihy773lFzRxokhnZ44WHehSXnxR5PDDk4u75RaRuXNFTjwxeeyXviTyiU8kj3MZ8X/+T37W4lJHaHOXLRO5YfiypGVvGzeKHHFE0ij+PwIIIIBAsUB7u8ju4e/VHPd2/vnJv2OhigACCFQqMDAg0thY6ez950XPB6N/s3y5RWtdO/y1Bk63c88V+eEPnQ7BZAQQQAABBGomEL1eu3dv+dNHr/t+5zs1WyIn1itA2FWm9yaf7NK7dRwrJ+xyBExxOmFXipgcSgi72AQIIIBA9QQIu6pny5ERQMBMgLDLzKncKMIud0OOgAACCCBQOwHCrtrZc+ZEAcKuBCK+sytxD1U0gMsYVsRWlUlcxrAqrGoPymUM1baewqskwGUMqwTr6WG5jOFw47iMoacbmGVnJsBlDKtDzWUMq+Oa1VG5jGFW0pzHZwEuY+hz97JbO5cxrK4139nl5kvYleC3fsOzsnL1Wrlr+TXS0T5JovArul27cH78303bhr/biFvlAhO/fIdMvnn4sme97zhdXn3gJ5UfLKcz8/ydXaVkM950qNRv3xb/9ba1D0jPe943rurMGZNF+vvj///Kjx+WvreeWrMO5GktNUPI2Ylbfv5TmTbvQ/GqhqZ0yObf/2nUCvnOrpw1jeXkToCwK3ctyc2CDvzwWdL8y1/E69n9uVtkz1XX5GZt1V4IYVe1hTm+7wJVDbtKcA46Y440PfVE/Lc777gz/h7f4lvdrp1yyOyZhb/auv4pGXjtO4F9do6+53jy0s/GJUTfbbzjK3fLjGNnFUra8sTvpOPaq6Tlp8PPbTsX3ySdn17ic8ner52wy/sWUkAGAoRdGSAHdooDz32/NP/rvww/J1m6TPZ84lOBVSjCd3b51VLCLoN+3b/uEbnptrvjkXPPnCNLF10mba3N8c+EXQaACUMIu9wN0zwCYVeamrqPRdilu/9Un44AYVc6jiEehbCrQbZ39obYWmpCwFmAsMuZMPEAhF2JRLkbQNiVu5awoBwKEHblsCk5XxJhV/oN4pNdbqaEXW5+hF2OftH0th98XybcsyY+Ut9xJ8iuW1akcNR8HcKnT3ZNvXie1HfujgF3LV0mfSf+xbiY0z76Qanr74v//87b7pD+Nx9dM/g8raVmCDk7cdOG30r7zcPvYB2cOEm2f/v7o1bIJ7ty1jSWkzsBwq7ctSQ3C5p802ek+YkN8Xr2XrpAuj7yV7lZW7UXwie7qi3M8X0XyDLsmnL1ldL4h+djss5PXis9733/fnx1e/bItIs+Wvi77avvkcEZh/hOLG333ycTvvG1uI7et5wknddcL9MuvfD1Or/+LZl45xek+fFfD/87fdEl0jX/Y97X7XMBhF0+d4+1ZyVA2JWVdDjnab9xUeET3nsuWyjd554XTnGvVcInu/xqKWGXY7/4ZJcjoJLpPoVdSlpCmTkRIOzKSSNYRm4FCLty2xoWVkMBwq4a4nNqLwSyDLu8AGGRCIgIYRfbAIFkAcKuZCNG6BMg7PKr54Rdjv0i7HIEVDKdsEtJoynTWoCwy5qMCcoECLuUNZxyjQQIu4yYGKRYgLBLcfMpfVwBwi42BwLJAoRdyUaM0CdA2OVXzwm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7HPtF2OUIqGQ6YZeSRlOmtQBhlzUZE5QJEHYpazjlGgkQdhkxMUixAGGX4uZTOmEXewABBwHCLgc8pgYrQNjlV2sJuxz7RdjlCKhkOmGXkkZTprUAYZc1GROUCRB2KWs45RoJEHYZMTFIsQBhl+LmUzphF3sAAQcBwi4HPKYGK0DY5VdrCbsc+0XY5QioZDphl5JGU6a1AGGXNRkTlAkQdilrOOUaCRB2GTExSLEAYZfi5lM6YRd7AAEHAcIuBzymBitA2OVXawm7/OoXq0UAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEECgSIOxiOyCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCHgrQNjlbetYOAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAGEXewABBBBAoOYCXd29cvOKu2XOycfIeWe/s+brYQEIIIAAAn4IrFq9Nl7otQvn+7FgVokAAgggUHOB9RuelZWr18pdy6+RjvZJNV8PC0AAAQQQyL/A8y9ukhuXrZFbliyQ9qvhAAAAGyBJREFU2YfNzP+Cla6QsEtp4yl7bIHol95Lr14e/8+/ufBsXjhhoyBQoYDtfYmwq0JopuVGIPrFd+H1K2Xz1m0y98w5snTRZdLW2pyb9bEQBHwQqOR+RNjlQ2dZ43gCI7///OihR+WQg6fJ6tuu48UTtgsClgKV3I8IuyyRGZ47gej3n69/d128rnvuWCynnHhU7tbIghDIu4Dt/YiwK+8dHV4fYZcffWKVGQvcv+4ReeGlLYRdGbtzuvAETO9LhF3h9V5rRdGLJ/c9+DBhl9YNQN2pCNjcjwi7UiHnIDUW2LGrU5bcukYWXXkBYVeNe8Hp/RWwuR8RdvnbZ1b+usDIc+h555xB2MXGQKBCAZv7EWFXhcgZTyPsyhic0/khUPoCfXHaX/yuy+gX6isW3y4ffO9/knvW/njUO/qj4zz6+NOFFz2jfxhX3HmvLLthQXy5hOJ3MEcyxZ8mi865Z1+37NmzT6J3ey6+6kL50UOPyXUL5xd+keEfWj/2k+ZVFt+XSvdr8S8Vxx01q3AZw3e/46T4fsVe17xz/K299EX66D5w0213Fwoqfudl6b/zxY8v5e4v0Ts3Rx5/nnxmY3zs4k+Tjcz94PveLsu++G05/uhZcsLRs6S1pbnwJg4CZn/3mIaVF9+Punt6Rj0mRPedww+dEV/2tjjsKg2+2OcadksYNZa+SF/uOcLI84uJEw+Q7z3wsxhg5LFl5LGh+Heo4vtLNHa85zVjPXbMfe8cefLpjfu9gYOAOYw9F2IVpfej0r1a/Njy1LMbC5cx/Pm//tt+z9lH7ifRf7lEbog7JZyaSl+kt3l+MNbrT8V7vvQ5jelrYtExbrz6r2X1Nx7Y71JvBMzh7LvQKim9H5V77Ni09dXCZQzjvV5ySUP2eT52B2FXPvrAKnImUPwCffQLw7qHHpWLzntfvMroH74tL2+Pn/SNvADz5zOnxz9Ht+LvHUoKu37y8K/lyCPeEL+Dc+RJ7bIlC+IwKzrPup89tt/lTMYK4fglPGebh+XsJ1BJ2BW9eMleZyP5KlD8xDCq4Z9+9Av56Nx3xZc0jPb12gcfLnw/ROm/88WPGcW/SEePEaW/hEfniW7Fwdf8c86IX/wfeTw5+z1vK7xIU/pmC34R93WH6Vh3pWEX+1zH/gixytIX6cs9Rxh5E8VIwFX873lkU/qGoeKwq9zzmuhxJ7ocb/Fjx1ghHN9VEeIODKOmSsOuqPriT1byhtIw9oOGKlyeH5S+OaLcC/zR616mr4mNXMa9+LGHNx9p2I3+1lhp2BU9R2ef57PvhF357AurqrFAuUuv2TyhTAq7isss/QVgrHdNFv8CP3XKJC53UuN9wumTBSoNu9jrybaMyKdAucuvlb54YvqusbHCrtLqi4813os0pZ+GGflkTD4lWZVmgUrDrsiMfa555/hbe7nLr5U+Ryj3/CIp7CoVKn5es31n55hful78u5zp5an97QQr91mg0rAruuIK+9znzutde9Ll18o9P7B5gb/0e4iTXhOLOlL8BqTo8aX4Ckd6O0bleRSwuS+UviGVfZ7HjvKdXfnsCququUDpE7nowfzSq5cX1hVdEuqu5dfEP5d792RS2FX8ZbojB//76y8bdVmeYpCRF3EOnTmd74Wp+U5hAUkClYZdxS9YsteTlPn/eRIoDbtKL0VVfKlC17Cr+HIikcHIpXDHC7tG1nbN5fNk6apv8N0wedo4rGU/AZewi33OZvJRoPRF+nLPEVzDrvGe14wXdo28kHPztZfI7V+9T/huGB93mI41u4Rd7HMdeyS0KscKu0yfH9i8wB+FXTaviUXOxcd/adPL8sJLW7gsaGgbMJB6bO4L5a6+wj7Pz4bgk1356QUryZFA8Qv00YP6kmVrCpcTTHoXS/E7iss9GW1taYkveThj+tT4Qd/kk10R0ciLmNGfr/v4+XwRaY72DUsZLeASdrHX2VE+ChS/SD9ySaiRy9Om+cmu4kvqRk9ATT7ZNfI4s6tzr7x59qE84fRxgylZs0vYxT5XskkCK7P4RfqZBx9Y9jmCS9hV7nnNeGHXyBuQnnv+JWmfNGG/7+8KrA2U47mAS9jFPve8+UqXP9aL9CNfuZH0/MDmBf7oO+5sXhMbaUf82tlXvhf/eMuSBfHXd3BDIG8CNveF0rArqoV9nreO8smu/HWEFdVcoDR0Kv1ek+LvXIkWW+6TXaVzoxcjf73h2fhTYSNh15yTj4k/yTVyzeSR71wZ78ufR9b3x00vF773peZoLACBMQRK70ul1wUfeXdY9J0Txx01a7/vu4sOx15nW/koUC50Kn2RMena+MWPL8X3l5HvdYx8it8sMfLmiXLfNVH6XS8+GrPm8AWK7xuljyUjn5a88pJzx/0kPPs8/D0SWoXFzxmSniOYvJlu5PlF6f2l3POacmHXyGPQyBUoQvOnnjAExtrfjz7+9H7frR1VGn3XdvTi/crVa/d7Ps0+D2MfaKqi3BvpRn5/Gu/5QekL/MWPLZFh9Mbs8e4vSa+JjfRg5Pn/yHfcl14OUVOvqDW/AqX3o3L3hbHCLvZ5/nrLJ7vy1xNWVCOBkRdGotPPPXNO4V2LpZcROe3U4yV6V7zJZQyjYxV/jHzJJy+SX/76SVl2wwKJrg1e/FHw6NJWB3ZMlvkfenfZyxiOHJPvWqnRRuG0iQLj3ZeiicV7/vxz3yN79uyLL4czVtjFXk+kZkBOBIr39chlbqN/40sfA44/6oj470be2Vgu7Cq9XEjx/SUKu4ovjzjy+HHqSUfH4Ve5sKvcd4rlhJNlKBUodz8q3u/R72gTJx4gx7358HF/X2KfK91EnpU98uLIk89sjFcevfkn+ve99Pel0ucISZdJL3d/Kfe8plzYVfydFCOPb55xs9xABcrdj4r3e3Q/unT+B+SJp58fN+xinwe6SQIrq/Tf8eI3Idg8PygNu8rdXyLCKPz60UOPxppJr4mNkCd9p1hgraEcjwTK3Y/K3RfGCrvY5/lrPGFX/nrCihAoKxD9Qr/sC9+WJX93URyYcUMgVAH2eqidpa5aCkQB2+lvO4FL4NayCZy76gLs86oTcwJlAlHAFt2iq1FwQyBUAfZ5qJ2lrloJROHbt+//qSy64gLhU1216gLnrbYA+7zawvbHJ+yyN2MGAjUVKP4OpJouhJMjUGUB9nqVgTm8OgHesayu5SoLZp+rbDtFV1Gg9HuQqngqDo1AzQTY5zWj58QBCxR/n33AZVKacgH2ef42AGFX/nrCihBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAwFCLsMoRiGAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCQPwHCrvz1hBUhgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggYChB2GUIxDAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIH8ChF356wkrQgABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQMBQg7DKEYhgCkUBXd6/cvOJu+dFDjxZA7rljsZxy4lGFn+9f94jcdNvd8c9zz5wjSxddJm2tzfHPq1avla9/d11h7N9ff5mcd/Y7Cz+v3/CsXHr18vjn44+eJXctv0Y62ieBjwACCCAQgIDLY0Dx48NYjy8jPNFj0AsvbZFrF84PQIwSEEAAAQSS/v3fsatTrlh8uzz5zMYYq/i5yfMvbpKF16+UzVu3jfn8IulxCX0EEEAAAT8Fkv79L31tq/i1qaTXvUqPXfq6l59irBoBBEIRIOwKpZPUkYlA9GTyH+/9n3LFJR+OA6zoyeeSZWtk9W3XyezDZsY/r1y9thBSRU8go1v0omP0C8Nd3/ih/JcLzooDrJFfEJYtWRCHZdHPNy5bI7csWRAfK3rB8tHHn94vLMukSE6CAAIIIJC6gOtjQPSYcOjM6fHjxcgT0BnTpxZCreIXQ//mwrMJu1LvIAdEAAEEaiNQ7t//kceDOScfE7+BrvT5RPTY8NKmlwtvrouem2x5eXv8/CK6lXtuUptqOSsCCCCAQBoC5f79j17LKn6tauRNE9ctnB8/10h63av4cSlaa/Gx0lg7x0AAAQRcBAi7XPSYq16g9JeC6EH+8ENnFJ5QloZfxWClT05L341f+mRVPTYACCCAQEACro8B470hgk92BbRJKAUBBBAYQ6D43/9NW1+VFXfeK8tuWBC/ma70saV0us1zE/ARQAABBMIRKP73P6pqya1rZNGVF8RvtE4KrEpf9ypV4Y3a4ewTKkEgBAHCrhC6SA01EygOpGYefGB8icORd1ZGiyoXWI0VlEVzRi49lfQLRc2K5sQIIIAAAs4Cro8B472DkrDLuTUcAAEEEMi1QPG//2OFV+XeYV/uBUmee+S67SwOAQQQcBIofaNE8VWFogOXe3wo97rWWFeccFookxFAAAFHAcIuR0Cm6xUofefkyM/zzjmj8B1e5X4pKH0iWvqpMJ5w6t1bVI4AAuELuDwGlHtnPmFX+HuHChFAQK9A6b//0c/3PfjwqO8IjoRKv7sx6aoRXIZK776icgQQCFug9N//6OfiTwWXC7vKfWJ45Hsf+c6usPcP1SHgmwBhl28dY725EBjr3Stj/RIw3pPK4uvlR9dLjm6lTzAJu3LRahaBAAIIpC7g8hhQ+l2RpYsj7Eq9XRwQAQQQyIXAWP/+m36yq/S7gksLGutxKRdFswgEEEAAASeBsf79H+t1qrE+2WX6qS0uY+jUIiYjgEDKAoRdKYNyuPAFyj3gm3xn13hPJvnOrvD3DhUigAACLo8BSUFXpEvYxR5DAAEEwhMY79//0nfnj/fmu4XXr5RlSxYUrj5RLETQFd5+oSIEEEAgEhjvjQ7RG6uTvrPLNOgaOU/pJ8XoAAIIIFArAcKu/9feHYX2Vd1xAD9PWh9EXMHaDnFLN0hLK2VS8GUi+CIZMhHWUXxo11JKBhutZSXZkDFkJERcZYOVrNj6MLFzsBe1DjbZ2Bh2Gzqx0gpi2Sa0ttio68N0T+PccS43d/f/T/LPzc3/5n7y1Ob/v+f8zuf8k/Tfb87vrpa8eVspsNSbPle1qYoLL7cVSf9AKPZN9tsxrXyJKJoAAQI9Bfq1iCr/hmX5Z0C/1oXFCYVdXoAECBBYWwL9vv+X35tUtaoq35elHHT1em+ythSthgABAt0SWErr2nJXoYX+3+tnP38h3P/lu8PmOzdlqH5poluvLaslMOwCwq5h3yH1DZVA+s2Yy1euzatr/+6xPMCK/9H42MzJ7PFi7+L0D4hzFy7Ou7b4nPhmdu+h6ezx7VtGwvHpw+HWW24eKgPFECBAgMDSBZb7MyD1xC/OvHHD+jA7cyR7o1n8+ZGe88xTE5W/xb/06l1BgAABAqslsND3//LPl+L3/uL7kmL98Tlf+Pxnw/jEsdDvvclqrdm8BAgQILA8gX7f/3fuGA0p0HrplbPZRI8f3RceHrs3+/NC/+9Vft/hnl3L2ytXEyBQr4Cwq15PoxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDQoIOxqENtUBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC9QoIu+r1NBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgECDAsKuBrFNRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUK+AsKteT6MRIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0KCDsahDbVAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvUKCLvq9TQaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAgwLCrgaxTUWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFCvgLCrXk+jESBAgAABAgQIECBAgAABAgQIECBAgAABAgQINCgg7GoQ21QECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1Cgi76vU0GgECBAgQIECAAAECBAgQIECAAAECBAgQIECAQIMCwq4GsU1FgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQr4Cwq15PoxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDQoIOxqENtUBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC9QoIu+r1NBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgECDAsKuBrFNRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUK+AsKteT6MRIECAAAECBAgQINAigV+d+UM4+9r58IPv7Muq/v4TJ8M9d28ND4/d26JVKJUAAQIECBAgQIAAAQLdFhB2dXv/rZ4AAQIECBAgQIBAowJ/fePtsPfQdOWczzw1EXbuGB2onmJoddO6GxY9RhvCrnf/cSkcPPpkuHzl2rx17d89Fh49uGvRa41P/PDj62F84lg4cnDXwNZLmtCTCRAgQIAAAQIECBAg0ICAsKsBZFMQIECAAAECBAgQIPA/gRh2TU6dCLMzR8LmOzfVxtKFsGtq8kAeUP37k/9kp9Bef+udJVkKu2p7yRmIAAECBAgQIECAAIEhEhB2DdFmKIUAAQIECBAgQIDAWhdYKOxKIU5sJfj3994PTz93JmzfMhKOTx8Ocx9dn3fCaeOG9VnQM/fhv/7vtNjjR/flrQh/NPt8Nk78SNekoK3fya6qYKhYX2x1mJ7zzT1fDS/+5tXw0itns3nKp67S885duJhvcVrXrbfcHNK46fr4pLSGdLKrGHalQeLa/vLG25lPHKdqnlRL1Rypht/96W95O8d0Mi7u1ZOzz+djJ6u7tm4OUz95NishXX/q9Mu58VfuvydrC7mUE3Zr/XVvfQQIECBAgAABAgQIrKyAsGtlfY1OgAABAgQIECBAgEBBYLFhVwx9im0Nq4KnONZ7l65moVavk10xDIofqd1fef66wq4P5j7OT1iVw6lU+64H78sDuHKQVK4zXhMDpPE9D4VLVz7IQr6qsKtqrnRdDJvKc/c62VXlVxV2PTZzMg/hiuFZCubKYaAXPwECBAgQIECAAAECBJoQEHY1oWwOAgQIECBAgAABAgQygYXu2bVtdCRrzxdPdsUQK33EUOd7UyfCDycPVLY/rApr4jVP/PR0mPrugezUU/wohzF1hV3Fe2D1m6Pq1NS6G2+sXHNx7b3CrqogrfxSi2uMp+Ri4LfcsOvsa+fnndqqch+0paQvEQIECBAgQIAAAQIECAwqIOwaVM51BAgQIECAAAECBAgsWWCxJ7vKYVe5BV+xTWEsotfJpL2HpitrTNc3EXaVT23FgnqdmoqPldsA9mtjWBV2pedfvnItX3sa85NPPw3jE8dCMZzr51fVxrDYolDYteQvARcQIECAAAECBAgQILACAsKuFUA1JAECBAgQIECAAAEC1QKDhl1ptF6h12La8FVV1FTY9bk7bp93Uq0cdqXaYj2xVWD8SAHVUtoYpuuLLSCLaxR2+cokQIAAAQIECBAgQGAtCgi71uKuWhMBAgQIECBAgACBIRVYbthVXFbxxFQc95cv/H5ei72FWh/GsZoKu+Jc6b5h8c+9wq60vuLjcx9d73nPrmjw/tW5fN3x7+VgrWqNX3vwvrBzx2jOuZiwcLGnuLQxHNIvPmURIECAAAECBAgQWMMCwq41vLmWRoAAAQIECBAgQGDYBAYNu+J1f/zzm3lgVL4vVtW46Tn/vHQ1HJ8+nN+3K4Yxd2y6LQt7+oVd6frbb/tMPm86OZXaIFbdA2uh2sp1xT2a+vGzYfLbj8yrMd0fq+pkVxrj9bfeCbMzR/L7mJXDr9TS8EvbvpgFYvEj3hOtuKYUvk1OncjHSuuKjyU7YdewfTWphwABAgQIECBAgACBJCDs8logQIAAAQIECBAgQKAxgRhK9bqPVmy9t210JAtjyvfsSuHLuQsX81r37x6bd1oqBj1PP3cme7x4T6/i5+Nj27eMVAY4KQgqzl2ed/Jbj4Q3z7+b17eYsCuFSWndGzesD3t3PRBe/O2reR39aqy6B1ccs7z++Llym8fYCvGurZuzmtO9torjlS1SC8X4+W98/YFw6he/FnY19tVhIgIECBAgQIAAAQIEBhUQdg0q5zoCBAgQIECAAAECBAgMKFDVdnHAoVxGgAABAgQIECBAgACBzgsIuzr/EgBAgAABAgQIECBAgMBKCsTTX6dOvxzG9zwUblp3Q376qnx6bSVrMDYBAgQIECBAgAABAgTWsoCway3vrrURIECAAAECBAgQILDqAlUtGIttFle9QAUQIECAAAECBAgQIECg5QLCrpZvoPIJECBAgAABAgQIECBAgAABAgQIECBAgAABAl0WEHZ1efetnQABAgQIECBAgAABAgQIECBAgAABAgQIECDQcgFhV8s3UPkECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgS4LCLu6vPvWToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBouYCwq+UbqHwCBAgQIECAAAECBAgQIECAAAECBAgQIECAQJcFhF1d3n1rJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAi0XEDY1fINVD4BAgQIECBAgAABAgQIECBAgAABAgQIECBAoMsCwq4u7761EyBAgAABAgQIECBAgAABAgQIECBAgAABAgRaLiDsavkGKp8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0GUBYVeXd9/aCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQItFxB2tXwDlU+AAAECBAgQIECAAAECBAgQIECAAAECBAgQ6LKAsKvLu2/tBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGWCwi7Wr6ByidAgAABAgQIECBAgAABAgQIECBAgAABAgQIdFlA2NXl3bd2AgQIECBAgAABAgQIECBAgAABAgQIECBAgEDLBYRdLd9A5RMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEuiwg7Ory7ls7AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKDlAsKulm+g8gkQIECAAAECBAgQIECAAAECBAgQIECAAAECXRYQdnV5962dAAECBAgQIECAAAECBAgQIECAAAECBAgQINByAWFXyzdQ+QQIECBAgAABAgQIECBAgAABAgQIECBAgACBLgsIu7q8+9ZOgAABAgQIECBAgAABAgQIECBAgAABAgQIEGi5gLCr5RuofAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAlwX+CzBuu7ZW7epsAAAAAElFTkSuQmCC",
"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": "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HDr/G2fgwhuvLv/1q+tXp9defum+2dtuAzX2OWYWj13HWnedtxeff3a5+LieN6/f9/7Psf4kCBy6ZjHO3/Vrn00/3b4zff3l1d2wa7v96OpwzLWSvVn9/odbB6/hPAnm1khgFnjY+d/2fdg7ly5Mf939ewma569Twq5jZvFh69ibxXkt884j39289d8T6p5djm0CeQFhV95URQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZKAsKsErQ0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBeQNiVN1WRAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgJCDsKkFrQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBcQduVNVSRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgJCLtK0NoQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjkBYRdeVMVCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgLCrhK0NgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnkBYVfeVEUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGSgLCrBK0NAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXkDYlTdVkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCQg7CpBa0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJAXEHblTVUkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoCQi7StDaECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI5AWEXXlTFQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoCwq4StDYECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ5AWFX3lRFAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBkoCwqwStDQECBAgQIECAAAECBAgQIECAAAECBAgQIECAQF5A2JU3VZEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAkIOwqQWtDgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQFxB25U1VJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKAkIu0rQ2hAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOQFhF15UxUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKAsKuErQ2BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECeQFhV95URQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZKAsKsErQ0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBeQNiVN1WRAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgJCDsKkFrQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBcQduVNVSRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgJCLtK0NoQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjkBYRdeVMVCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgLCrhK0NgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnkBYVfeVEUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGSgLCrBK0NAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXkDYlTdVkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCQg7CpBa0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJAXEHblTVUkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoCQi7StDaECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI5AWEXXlTFQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoCwq4StDYECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ5AWFX3lRFAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBkoCwqwStDQECBAgQIECAAAECBAgQIECAAAECBAgQIECAQF5A2JU3VZEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAkIOwqQWtDgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQFxB25U1VJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKAkIu0rQ2hAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOQFhF15UxUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKAsKuErQ2BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECeQFhV95URQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZKAsKsErQ0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBeQNiVN1WRAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgJCDsKkFrQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBcQduVNVSRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgJCLtK0NoQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjkBYRdeVMVCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgLCrhK0NgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnkBYVfeVEUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGSgLCrBK0NAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXkDYlTdVkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCQg7CpBa0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJAXEHblTVUkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoCQi7StDaECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI5AWEXXlTFQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoCwq4StDYECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ5AWFX3lRFAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBkoCwqwStDQECBAgQIECAAAECBAgQIECAAAECBAgQIECAQF5A2JU3VZEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAk8C/J49EcrpBOSwAAAABJRU5ErkJggg==",
"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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XUl8FiZAgAABAgQIECBAgAABAgQIECBAgAABAgQIEMgpIOzKqa9tAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJAFhVxKfhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBHIKCLty6mubAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgSUDYlcRnYQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZwCwq6c+tomQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBIEhB2JfFZmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIKeAsCunvrYJECBAgAABAgQIECBAgAABAgQIECBAgAABAgSSBIRdSXwWJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQyCkg7Mqpr20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEkAWFXEp+FCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEcgoIu3Lqa5sAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCBJQNiVxGdhAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBnALCrpz62iZAgAABAgQIECBAgAABAgQIECBAgAABAgQIEEgSEHYl8VmYAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgp4CwK6e+tgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBJIEhF1JfBYmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDIKSDsyqmvbQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSQBYVcSn4UJECBAgAABAgQIECBAgAABAgQIECBAgAABAgRyCgi7cuprmwABAgQIECBAgAABAgQIECBAgAABAgQIECBAIElA2JXEZ2ECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGcAsKunPraJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQSBIQdiXxWZgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCCngLArp762CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEkgSEXUl8FiZAgAABAgQIECBAgAABAgQIECBAgAABAgQIEMgpIOzKqa9tAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJAFhVxKfhQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBHIKCLty6mubAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgSUDYlcRnYQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZwCwq6c+tomQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBIEhB2JfFZmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIKeAsCunvrYJECBAgAABAgQIECBAgAABAgQIECBAgAABAgSSBIRdSXwWJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQyCkg7Mqpr20CBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEkAWFXEp+FCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEcgoIu3Lqa5sAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCBJQNiVxGdhAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBnALCrpz62iZAgAABAgQIECBAgAABAgQIECBAgAABAgQIEEgSEHYl8VmYAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgp4CwK6e+tgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBJIE/g9QeKA9+afu7gAAAABJRU5ErkJggg==",
"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.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}