{
"cells": [
{
"cell_type": "code",
"execution_count": 73,
"id": "7a3837ac-cced-4e01-bf57-265e40729692",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import re\n",
"import numpy as np\n",
"import thefuzz\n",
"import tqdm\n",
"import matplotlib.pyplot as plt\n",
"import requests\n",
"import json\n",
"\n",
"pd.set_option('display.max_colwidth', None)"
]
},
{
"cell_type": "code",
"execution_count": 74,
"id": "29ca0dc8-cae7-4f12-bd60-fd74ea6ae5ac",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"BE_df = pd.read_excel('../Daten/Vorhersagen/Katalogauszug und Vorhersagen.xlsx', index_col=0)"
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "c1e1c42a-962f-40bc-bb17-b62e8089feb7",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"entry_df = pd.read_excel('../Daten/Katalogabgleich/Einträge.xlsx', index_col=0)"
]
},
{
"cell_type": "code",
"execution_count": 76,
"id": "50d15898-4687-46b7-b7e0-528d7cf9aec0",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def prepare_string(string):\n",
" new = re.sub(r'[àáâãå]', 'a', string)\n",
" new = re.sub(r'[èéêë]', 'e', new)\n",
" new = re.sub(r'[ìíîï]', 'i', new)\n",
" new = re.sub(r'[òóôõ]', 'o', new)\n",
" new = re.sub(r'[ùúû]', 'u', new)\n",
" new = re.sub(r'æ', 'ae', new)\n",
" new = re.sub('[.,:;()¬]|^[CLXVI]+? |^\\d+? |^\\d+?\\.+? |^\\.+ ?|= |# ', '', new)\n",
" return new\n",
"\n",
"entry_df['cleaned entry'] = entry_df['entry'].apply(lambda x: prepare_string(x))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "990dfeee-1141-4acb-8a3d-a7af0573f5be",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"BE_early = BE_df[BE_df['Anfang Veröffentlichungsdatum'] < 1736]\n",
"BE_early_no_dup = BE_early.drop_duplicates('Titel')\n",
"BE_no_year = BE_df[BE_df['Anfang Veröffentlichungsdatum'].isna()].drop_duplicates('Titel')\n",
"BE_manual = BE_df.loc[BE_early_no_dup.index.union(BE_no_year.index)]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "bcd301fe-cb80-4b1c-b65f-465fce5ed915",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"array([['BE.1.T.33', '+Z167651701',\n",
" \"Les deux livres de S. Augustin, de la veritable religion et des moeurs de l'eglise catholique, traduits en francois, sur l'edition latine des Peres Benedictins de la congregation de S. Maur\",\n",
" 'Augustinus, Aurelius Heiliger 354-430', nan, 1693.0, nan,\n",
" '1693', 'Paris', 'Paris', 'French', nan, nan, nan, nan, nan,\n",
" 'Z167651701', 'Z167651701_00000001.jpg', 'B', 0.0008314285660162,\n",
" 0.9985696077346802, 0.0003245634725317, 0.0002743884397204,\n",
" 'blue', 0.9836959838867188, 0.0060312687419354,\n",
" 0.0102726686745882]], dtype=object)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BE_manual[BE_manual['Signatur'].str.contains('BE.1.T.33')].values"
]
},
{
"cell_type": "code",
"execution_count": 77,
"id": "c0f4a42a-7e21-41e8-833c-2dd2f9d1985e",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" volume \n",
" page number \n",
" category \n",
" subcategory \n",
" format \n",
" handwritten page number \n",
" entry_ID \n",
" entry \n",
" cleaned entry \n",
" \n",
" \n",
" \n",
" \n",
" 3508 \n",
" 14.377 \n",
" 98 \n",
" Poëtica \n",
" Poëtæ Gallici unà cum Dramaticis \n",
" Octavo und kleiner \n",
" 502 \n",
" 14.377_098_09 \n",
" Poësies de Jacques Poille. Paris. 1623. Th. Blaise n. 1257. \n",
" Poesies de Jacques Poille Paris 1623 Th Blaise n 1257 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" volume page number category subcategory \n",
"3508 14.377 98 Poëtica Poëtæ Gallici unà cum Dramaticis \\\n",
"\n",
" format handwritten page number entry_ID \n",
"3508 Octavo und kleiner 502 14.377_098_09 \\\n",
"\n",
" entry \n",
"3508 Poësies de Jacques Poille. Paris. 1623. Th. Blaise n. 1257. \\\n",
"\n",
" cleaned entry \n",
"3508 Poesies de Jacques Poille Paris 1623 Th Blaise n 1257 "
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def search_in_entry(df, string):\n",
" return df[df['cleaned entry'].str.contains(string)]\n",
"\n",
"info = search_in_entry(search_in_entry(entry_df, 'Poille'), '')\n",
"print(len(info))\n",
"info"
]
},
{
"cell_type": "code",
"execution_count": 368,
"id": "c4394718-cfd3-459e-8923-3ef255a41012",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"volume 14.377\n",
"page number 28\n",
"category Poëtica\n",
"subcategory Poëtæ Græci\n",
"format Octavo und kleiner\n",
"handwritten page number 436\n",
"entry_ID 14.377_028_02\n",
"entry ..........Le Plutus & Les Nuéces du même trad. du grec par Mad.elle Anne le Fevre. 12.° Paris. 1684. Thierry. n. 1062.\n",
"cleaned entry Le Plutus & Les Nueces du meme trad du grec par Madelle Anne le Fevre 12° Paris 1684 Thierry n 1062\n",
"Name: 2857, dtype: object"
]
},
"execution_count": 368,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"entry_df.loc[2857]"
]
},
{
"cell_type": "code",
"execution_count": 414,
"id": "20facf5d-d609-498e-9907-7ebdffc09e15",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"BE.6.S.66\n",
"+Z201401009\n",
"Florus Danicus ; Otthiniae Impressus a Christiano Schrödero, Anno 1698\n",
"Bering, Vitus 1617-1675\n",
"Tyrnaviae\n",
"1716\n",
"N\n"
]
},
{
"data": {
"text/plain": [
"Signatur BE.6.S.66\n",
"Barcode +Z201401009\n",
"Titel Florus Danicus ; Otthiniae Impressus a Christiano Schrödero, Anno 1698\n",
"Autor Bering, Vitus 1617-1675\n",
"Mitwirkender NaN\n",
"Anfang Veröffentlichungsdatum 1716.0\n",
"Ende Veröffentlichungsdatum NaN\n",
"Veröffentlichungsdatum 1716\n",
"Veröffentlichungsort Tyrnaviae\n",
"Veröffentlichungsort (normiert) Tyrnau\n",
"Sprache Latin\n",
"Schlagwörter Dänemark; Geschichte\n",
"Schlagwörter (mit GND) Dänemark$Dg--(DE-588)4010877-6;Geschichte$Az;AT-OBV--ONB-AK\n",
"Vorbesitzer NaN\n",
"Typ NaN\n",
"Bemerkungen NaN\n",
"Gültiger Barcode Z201401009\n",
"Dateiname Z201401009_00000001.jpg\n",
"Wappenklassifizierung N\n",
"p_A 0.022146\n",
"p_B 0.008077\n",
"p_C 0.014462\n",
"p_N 0.955316\n",
"Farbklassifizierung NaN\n",
"p_blue NaN\n",
"p_red NaN\n",
"p_yellow NaN\n",
"Name: 15975, dtype: object"
]
},
"execution_count": 414,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BE_entry = BE_df.loc[15975]\n",
"print(BE_entry['Signatur'])\n",
"print(BE_entry['Barcode'])\n",
"print(BE_entry['Titel'])\n",
"print(BE_entry['Autor'])\n",
"print(BE_entry['Veröffentlichungsort'])\n",
"print(BE_entry['Veröffentlichungsdatum'])\n",
"print(BE_entry['Wappenklassifizierung'])\n",
"BE_entry"
]
},
{
"cell_type": "markdown",
"id": "a499f1aa-20d8-4e5c-9386-abd2b7023974",
"metadata": {},
"source": [
"# Create Matching data\n",
"\n",
"## Match from existing catalogue data for BE signatures. Combine author (+ printer etc), title, year and place and try to match it with an entry in the handwritten catalogue."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f5388945-7294-420a-a524-c3372e3c761d",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"better_matches = []\n",
"scorer = thefuzz.fuzz.token_set_ratio\n",
"\n",
"for index, row in tqdm.notebook.tqdm(BE_manual.iterrows(), total=len(BE_manual)):\n",
" keys = ['Autor', 'Mitwirkender', 'Titel', 'Veröffentlichungsort', 'Anfang Veröffentlichungsdatum']\n",
" comb_string = ''\n",
" for key in keys:\n",
" val = row[key]\n",
" if not pd.isna(val):\n",
" if key == 'Autor' or key == 'Mitwirkender':\n",
" if ',' in val: # falls name, vorname\n",
" val = val.split(',')[0]\n",
" val = val.split(' ')[0]\n",
" elif key == 'Titel':\n",
" val = prepare_string(val)\n",
" elif key == 'Anfang Veröffentlichungsdatum':\n",
" val = str(int(val))\n",
" else: # key == 'Veröffentlichungsort'\n",
" pass\n",
" comb_string += val + ' '\n",
" \n",
" matches_lis = thefuzz.process.extract(comb_string, entry_df['cleaned entry'], scorer=scorer, limit=5)\n",
" flat_matches = []\n",
" for match in matches_lis:\n",
" flat_matches.append(match[0])\n",
" flat_matches.append(match[1])\n",
" flat_matches.append(match[2])\n",
" better_matches.append([comb_string] + flat_matches)\n",
"\n",
"matches_df = pd.DataFrame(better_matches, columns=['input', 'match_1', 'score_1', 'id_1', 'match_2', 'score_2', 'id_2', 'match_3', 'score_3', 'id_3', 'match_4', 'score_4', 'id_4', 'match_5', 'score_5', 'id_5'])\n",
"matches_df['control'] = ''\n",
"matches_df"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e0f42259-6df9-4e3b-80e1-1dbe4642545c",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"matches_df_no_score = matches_df.drop(['score_1', 'score_2', 'score_3', 'score_4', 'score_5'], axis=1)\n",
"matches_df_no_score.insert(1, 'input_id', BE_manual.index)\n",
"matches_df_no_score"
]
},
{
"cell_type": "code",
"execution_count": 749,
"id": "51aae223-d87e-4fa0-8a97-25c33b7c8d65",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# Export in batches of 1000\n",
"matches_df_no_score[:1000].to_excel('../Daten/Katalogabgleich/Kandidaten/Kandidaten_1000.xlsx', index=False)\n",
"matches_df_no_score[1000:2000].to_excel('../Daten/Katalogabgleich/Kandidaten/Kandidaten_2000.xlsx', index=False)\n",
"matches_df_no_score[2000:3000].to_excel('../Daten/Katalogabgleich/Kandidaten/Kandidaten_3000.xlsx', index=False)\n",
"matches_df_no_score[3000:4000].to_excel('../Daten/Katalogabgleich/Kandidaten/Kandidaten_4000.xlsx', index=False)\n",
"matches_df_no_score[4000:5000].to_excel('../Daten/Katalogabgleich/Kandidaten/Kandidaten_5000.xlsx', index=False)\n",
"matches_df_no_score[5000:6000].to_excel('../Daten/Katalogabgleich/Kandidaten/Kandidaten_6000.xlsx', index=False)\n",
"matches_df_no_score[6000:7000].to_excel('../Daten/Katalogabgleich/Kandidaten/Kandidaten_7000.xlsx', index=False)\n",
"matches_df_no_score[7000:8000].to_excel('../Daten/Katalogabgleich/Kandidaten/Kandidaten_8000.xlsx', index=False)\n",
"matches_df_no_score[8000:].to_excel('../Daten/Katalogabgleich/Kandidaten/Kandidaten_8756.xlsx', index=False)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "68eb5b1e-a23b-4014-aa7d-903878c14a3d",
"metadata": {},
"outputs": [],
"source": [
"non_BE = BE_df[~BE_df['Signatur'].str.contains('BE')]\n",
"non_BE_wappen = non_BE[~non_BE['Wappenklassifizierung'].isna()]"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "d34f7a91-6f09-4c93-8376-105dc804764f",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Signatur \n",
" Wappenklassifizierung \n",
" Barcode \n",
" Mitwirkender \n",
" \n",
" \n",
" \n",
" \n",
" 22595 \n",
" Be.10.J.38.(Vol.1,1) \n",
" N \n",
" +Z17136510X \n",
" Cotta; Nees von Esenbeck, Christian Gottfried Daniel 1776-1858; Eschweiler, Franz Gerhard 1796-1831 \n",
" \n",
" \n",
" 22599 \n",
" Be.5.Q.69.(Vol.5) \n",
" N \n",
" +Z197357203 \n",
" NaN \n",
" \n",
" \n",
" 22612 \n",
" 22.M.23 \n",
" B \n",
" +Z43165504 \n",
" Manuzio, Aldo Pio 1450-1515; Philostratus, Flavius 160-245; Eusebius Caesariensis 260-339; Rinuccinus, Alemannus 1426-1504; Acciaiuoli, Zanobi 1461-1519; Ευσεβιος Καισαρειας \n",
" \n",
" \n",
" 22613 \n",
" 22.N.14 \n",
" B \n",
" +Z221977709 \n",
" Manuzio, Paolo; Manuzio, Paolo 1512-1574 \n",
" \n",
" \n",
" 22614 \n",
" 22.N.27 (Vol.1) \n",
" B \n",
" +Z43162801 \n",
" Manuzio, Aldo Pio 1450-1515; Theophanes Confessor 752-817; Cosmas Hierosolymitanus -781; Marcus de Idronto ca. um 770; Johannes Damascenus 675-749; Clarius, Daniel ca. 15./16. Jh. \n",
" \n",
" \n",
" 22615 \n",
" 22.N.67 \n",
" B \n",
" +Z221954400 \n",
" Manuzio, Paolo 1512-1574; Auria, Andrea <<d'>> \n",
" \n",
" \n",
" 22616 \n",
" 22.Q.37 \n",
" N \n",
" +Z22196790X \n",
" Asulanus, Franciscus -1546; Aldo Manuzio Senior Haeredes; Carloni, Antonio \n",
" \n",
" \n",
" 22618 \n",
" 60164-D.1 \n",
" A \n",
" +Z194791901 \n",
" NaN \n",
" \n",
" \n",
" 22619 \n",
" 60164-D.2 \n",
" A \n",
" +Z254932002 \n",
" NaN \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Signatur Wappenklassifizierung Barcode \\\n",
"22595 Be.10.J.38.(Vol.1,1) N +Z17136510X \n",
"22599 Be.5.Q.69.(Vol.5) N +Z197357203 \n",
"22612 22.M.23 B +Z43165504 \n",
"22613 22.N.14 B +Z221977709 \n",
"22614 22.N.27 (Vol.1) B +Z43162801 \n",
"22615 22.N.67 B +Z221954400 \n",
"22616 22.Q.37 N +Z22196790X \n",
"22618 60164-D.1 A +Z194791901 \n",
"22619 60164-D.2 A +Z254932002 \n",
"\n",
" Mitwirkender \n",
"22595 Cotta; Nees von Esenbeck, Christian Gottfried Daniel 1776-1858; Eschweiler, Franz Gerhard 1796-1831 \n",
"22599 NaN \n",
"22612 Manuzio, Aldo Pio 1450-1515; Philostratus, Flavius 160-245; Eusebius Caesariensis 260-339; Rinuccinus, Alemannus 1426-1504; Acciaiuoli, Zanobi 1461-1519; Ευσεβιος Καισαρειας \n",
"22613 Manuzio, Paolo; Manuzio, Paolo 1512-1574 \n",
"22614 Manuzio, Aldo Pio 1450-1515; Theophanes Confessor 752-817; Cosmas Hierosolymitanus -781; Marcus de Idronto ca. um 770; Johannes Damascenus 675-749; Clarius, Daniel ca. 15./16. Jh. \n",
"22615 Manuzio, Paolo 1512-1574; Auria, Andrea <> \n",
"22616 Asulanus, Franciscus -1546; Aldo Manuzio Senior Haeredes; Carloni, Antonio \n",
"22618 NaN \n",
"22619 NaN "
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"non_BE_wappen[['Signatur', 'Wappenklassifizierung', 'Barcode', 'Mitwirkender']]"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "512515e9-84a4-4e97-a16d-2f28df90abde",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Signatur', 'Barcode', 'Titel', 'Autor', 'Mitwirkender',\n",
" 'Anfang Veröffentlichungsdatum', 'Ende Veröffentlichungsdatum',\n",
" 'Veröffentlichungsdatum', 'Veröffentlichungsort',\n",
" 'Veröffentlichungsort (normiert)', 'Sprache', 'Schlagwörter',\n",
" 'Schlagwörter (mit GND)', 'Vorbesitzer', 'Typ', 'Bemerkungen',\n",
" 'Gültiger Barcode', 'Dateiname', 'Wappenklassifizierung', 'p_A', 'p_B',\n",
" 'p_C', 'p_N', 'Farbklassifizierung', 'p_blue', 'p_red', 'p_yellow'],\n",
" dtype='object')"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"non_BE_wappen.columns"
]
},
{
"cell_type": "code",
"execution_count": 79,
"id": "b8de2583-c260-46df-ab7c-15b4feff0a33",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['filename', 'prediction', 'p_A', 'p_B', 'p_C', 'p_N', 'color', 'p_blue',\n",
" 'p_red', 'p_yellow', 'man_prediction', 'man_color', 'valid_bc',\n",
" 'Permanent Call Number', '992', '993', '695', '866',\n",
" 'Library Code (Active)', 'Location Code', 'Barcode', 'Item Call Number',\n",
" 'Title', 'Author', 'Author (contributor)', 'Begin Publication Date',\n",
" 'End Publication Date', 'Publication Date', 'Publication Place',\n",
" 'Publisher', 'Unnamed: 17', 'MMS Id', '856', 'Subjects',\n",
" 'Subjects (Names)'],\n",
" dtype='object')"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pred = pd.read_csv('../Daten/Vorhersagen/catalogue_pred_combined.csv')\n",
"pred.columns"
]
},
{
"cell_type": "code",
"execution_count": 80,
"id": "042eb3f3-6d53-4403-a230-513d36ea8b44",
"metadata": {},
"outputs": [],
"source": [
"no_sign_wappen = pred[pred['Permanent Call Number'].isna()]"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "87462bd0-ad17-4ea5-9486-f4b23605d74d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"803"
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(no_sign_wappen)"
]
},
{
"cell_type": "code",
"execution_count": 82,
"id": "d7326106-193b-4841-ac3c-becae1b27ddf",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" filename \n",
" prediction \n",
" p_A \n",
" p_B \n",
" p_C \n",
" p_N \n",
" color \n",
" p_blue \n",
" p_red \n",
" p_yellow \n",
" ... \n",
" Begin Publication Date \n",
" End Publication Date \n",
" Publication Date \n",
" Publication Place \n",
" Publisher \n",
" Unnamed: 17 \n",
" MMS Id \n",
" 856 \n",
" Subjects \n",
" Subjects (Names) \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" Z103519105_00000001.jpg \n",
" A \n",
" 0.998598 \n",
" 0.000445 \n",
" 0.000400 \n",
" 0.000558 \n",
" red \n",
" 0.000419 \n",
" 0.997730 \n",
" 0.001851 \n",
" ... \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 4 \n",
" Z10353460X_00000001.jpg \n",
" A \n",
" 0.994711 \n",
" 0.002387 \n",
" 0.001679 \n",
" 0.001224 \n",
" red \n",
" 0.002559 \n",
" 0.982544 \n",
" 0.014897 \n",
" ... \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 13 \n",
" Z105561605_00000001.jpg \n",
" B \n",
" 0.000142 \n",
" 0.999590 \n",
" 0.000070 \n",
" 0.000198 \n",
" red \n",
" 0.000502 \n",
" 0.995507 \n",
" 0.003991 \n",
" ... \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 16 \n",
" Z137115906_00000001.jpg \n",
" A \n",
" 0.997722 \n",
" 0.001312 \n",
" 0.000461 \n",
" 0.000505 \n",
" blue \n",
" 0.993158 \n",
" 0.003776 \n",
" 0.003066 \n",
" ... \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 17 \n",
" Z13711690X_00000001.jpg \n",
" A \n",
" 0.999452 \n",
" 0.000185 \n",
" 0.000149 \n",
" 0.000213 \n",
" blue \n",
" 0.994273 \n",
" 0.005353 \n",
" 0.000374 \n",
" ... \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 6154 \n",
" Z260077107_00000001.jpg \n",
" B \n",
" 0.000248 \n",
" 0.998484 \n",
" 0.000442 \n",
" 0.000827 \n",
" red \n",
" 0.000213 \n",
" 0.994317 \n",
" 0.005469 \n",
" ... \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 6155 \n",
" Z43162801_00000001.jpg \n",
" B \n",
" 0.000684 \n",
" 0.997634 \n",
" 0.001180 \n",
" 0.000502 \n",
" red \n",
" 0.001450 \n",
" 0.997198 \n",
" 0.001353 \n",
" ... \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 6156 \n",
" Z43163301_00000001.jpg \n",
" B \n",
" 0.000872 \n",
" 0.998139 \n",
" 0.000583 \n",
" 0.000406 \n",
" red \n",
" 0.000331 \n",
" 0.998473 \n",
" 0.001197 \n",
" ... \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 6157 \n",
" Z43165504_00000001.jpg \n",
" B \n",
" 0.000670 \n",
" 0.998324 \n",
" 0.000560 \n",
" 0.000445 \n",
" red \n",
" 0.001188 \n",
" 0.996374 \n",
" 0.002438 \n",
" ... \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 6158 \n",
" Z43169509_00000001.jpg \n",
" A \n",
" 0.995156 \n",
" 0.001711 \n",
" 0.002191 \n",
" 0.000941 \n",
" red \n",
" 0.000120 \n",
" 0.999710 \n",
" 0.000170 \n",
" ... \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
"
\n",
"
803 rows × 35 columns
\n",
"
"
],
"text/plain": [
" filename prediction p_A p_B p_C \\\n",
"0 Z103519105_00000001.jpg A 0.998598 0.000445 0.000400 \n",
"4 Z10353460X_00000001.jpg A 0.994711 0.002387 0.001679 \n",
"13 Z105561605_00000001.jpg B 0.000142 0.999590 0.000070 \n",
"16 Z137115906_00000001.jpg A 0.997722 0.001312 0.000461 \n",
"17 Z13711690X_00000001.jpg A 0.999452 0.000185 0.000149 \n",
"... ... ... ... ... ... \n",
"6154 Z260077107_00000001.jpg B 0.000248 0.998484 0.000442 \n",
"6155 Z43162801_00000001.jpg B 0.000684 0.997634 0.001180 \n",
"6156 Z43163301_00000001.jpg B 0.000872 0.998139 0.000583 \n",
"6157 Z43165504_00000001.jpg B 0.000670 0.998324 0.000560 \n",
"6158 Z43169509_00000001.jpg A 0.995156 0.001711 0.002191 \n",
"\n",
" p_N color p_blue p_red p_yellow ... \\\n",
"0 0.000558 red 0.000419 0.997730 0.001851 ... \n",
"4 0.001224 red 0.002559 0.982544 0.014897 ... \n",
"13 0.000198 red 0.000502 0.995507 0.003991 ... \n",
"16 0.000505 blue 0.993158 0.003776 0.003066 ... \n",
"17 0.000213 blue 0.994273 0.005353 0.000374 ... \n",
"... ... ... ... ... ... ... \n",
"6154 0.000827 red 0.000213 0.994317 0.005469 ... \n",
"6155 0.000502 red 0.001450 0.997198 0.001353 ... \n",
"6156 0.000406 red 0.000331 0.998473 0.001197 ... \n",
"6157 0.000445 red 0.001188 0.996374 0.002438 ... \n",
"6158 0.000941 red 0.000120 0.999710 0.000170 ... \n",
"\n",
" Begin Publication Date End Publication Date Publication Date \\\n",
"0 NaN NaN NaN \n",
"4 NaN NaN NaN \n",
"13 NaN NaN NaN \n",
"16 NaN NaN NaN \n",
"17 NaN NaN NaN \n",
"... ... ... ... \n",
"6154 NaN NaN NaN \n",
"6155 NaN NaN NaN \n",
"6156 NaN NaN NaN \n",
"6157 NaN NaN NaN \n",
"6158 NaN NaN NaN \n",
"\n",
" Publication Place Publisher Unnamed: 17 MMS Id 856 Subjects \\\n",
"0 NaN NaN NaN NaN NaN NaN \n",
"4 NaN NaN NaN NaN NaN NaN \n",
"13 NaN NaN NaN NaN NaN NaN \n",
"16 NaN NaN NaN NaN NaN NaN \n",
"17 NaN NaN NaN NaN NaN NaN \n",
"... ... ... ... ... ... ... \n",
"6154 NaN NaN NaN NaN NaN NaN \n",
"6155 NaN NaN NaN NaN NaN NaN \n",
"6156 NaN NaN NaN NaN NaN NaN \n",
"6157 NaN NaN NaN NaN NaN NaN \n",
"6158 NaN NaN NaN NaN NaN NaN \n",
"\n",
" Subjects (Names) \n",
"0 NaN \n",
"4 NaN \n",
"13 NaN \n",
"16 NaN \n",
"17 NaN \n",
"... ... \n",
"6154 NaN \n",
"6155 NaN \n",
"6156 NaN \n",
"6157 NaN \n",
"6158 NaN \n",
"\n",
"[803 rows x 35 columns]"
]
},
"execution_count": 82,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"no_sign_wappen"
]
},
{
"cell_type": "code",
"execution_count": 98,
"id": "07da4f64-6dbd-4a57-9122-338a9c66bf5b",
"metadata": {},
"outputs": [],
"source": [
"nsw = no_sign_wappen.dropna(axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 99,
"id": "73c74495-9522-427a-88db-d8f1cca96cdd",
"metadata": {},
"outputs": [],
"source": [
"def get_content(url):\n",
" retries = 0\n",
" while retries < 3:\n",
" try:\n",
" resp = requests.get(url)\n",
" if resp.status_code == 200:\n",
" return resp.content\n",
" else:\n",
" retries += 1\n",
" except requests.exceptions.Timeout:\n",
" retries += 1\n",
" except (requests.exceptions.TooManyRedirects, requests.exceptions.RequestException) as e:\n",
" raise SystemExit(e)\n",
"\n",
"def extract_signature_from_manifest(bc):\n",
" man_url = f'https://iiif.onb.ac.at/presentation/ABO/{bc}/manifest'\n",
" metadata = json.loads(get_content(man_url))['metadata']\n",
" metadata_str = json.dumps(metadata)\n",
" loc_s = re.compile('(.+?)')\n",
" ac_s = re.compile('AC[0-9]+')\n",
" loc = loc_s.findall(metadata_str)\n",
" if len(loc) > 0:\n",
" loc = loc[0]\n",
" else:\n",
" loc = ''\n",
" acnr = ac_s.findall(metadata_str)\n",
" if len(acnr) > 0:\n",
" acnr = acnr[0]\n",
" else:\n",
" acnr = ''\n",
" return (loc, acnr)"
]
},
{
"cell_type": "code",
"execution_count": 100,
"id": "f4ef590d-775f-41c6-bd35-384aa9e5dd8e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"('', 'AC09912489')"
]
},
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"extract_signature_from_manifest('Z150809200')"
]
},
{
"cell_type": "code",
"execution_count": 101,
"id": "8920d0a5-6ead-4db8-8407-cd6d4c8657e7",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_7044/501467936.py:4: 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",
" nsw.loc[i, 'Signatur'] = sig\n",
"/tmp/ipykernel_7044/501467936.py:5: 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",
" nsw.loc[i, 'AC-Nummer'] = ac\n"
]
}
],
"source": [
"for i in nsw.index:\n",
" bc = nsw.loc[i, 'valid_bc']\n",
" sig, ac = extract_signature_from_manifest(bc)\n",
" nsw.loc[i, 'Signatur'] = sig\n",
" nsw.loc[i, 'AC-Nummer'] = ac"
]
},
{
"cell_type": "code",
"execution_count": 105,
"id": "0ae7c215-f811-4b6d-897f-55328337ead4",
"metadata": {},
"outputs": [],
"source": [
"nsw_no_dup = nsw.drop_duplicates('valid_bc')"
]
},
{
"cell_type": "code",
"execution_count": 110,
"id": "e3916d07-7d22-40c3-aff2-eb9823840f96",
"metadata": {},
"outputs": [],
"source": [
"keine_BE = nsw_no_dup.drop(['filename', 'prediction', 'p_A', 'p_B', 'p_C', 'p_N', 'color', 'p_blue', 'p_red', 'p_yellow'], axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 114,
"id": "62d169f7-2bcb-431b-8f6b-76d37194abc9",
"metadata": {},
"outputs": [],
"source": [
"keine_BE.rename(columns={'man_prediction': 'Wappen', 'man_color': 'Einbandfarbe', 'valid_bc': 'Barcode'}, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 116,
"id": "3cc27a7c-b960-4360-81c8-6873fc39a95e",
"metadata": {},
"outputs": [],
"source": [
"keine_BE = keine_BE.reindex(columns=['Barcode', 'Signatur', 'AC-Nummer', 'Wappen', 'Einbandfarbe'])"
]
},
{
"cell_type": "code",
"execution_count": 121,
"id": "f2c1a4aa-3312-4353-9767-ef0009bf35da",
"metadata": {},
"outputs": [],
"source": [
"keine_BE.to_excel('../Daten/Vorhersagen/Eugeniana aber nicht BE.xlsx', index=None)"
]
},
{
"cell_type": "markdown",
"id": "054a6f0d-251d-4cc5-84b9-0d777b7d1f7c",
"metadata": {},
"source": [
"# Analyze manual matching data"
]
},
{
"cell_type": "code",
"execution_count": 78,
"id": "d6efcff5-0393-4835-b673-001e85877f13",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"manual_file_names = [\n",
" 'Ausgefüllt_1000.xlsx',\n",
" 'Ausgefüllt_2000.xlsx',\n",
" 'Ausgefüllt_3000.xlsx',\n",
" 'Ausgefüllt_4000.xlsx',\n",
" 'Ausgefüllt_5000.xlsx',\n",
" 'Ausgefüllt_6000.xlsx',\n",
" 'Ausgefüllt_7000.xlsx',\n",
" 'Ausgefüllt_8000.xlsx',\n",
" 'Ausgefüllt_8756.xlsx',\n",
"]\n",
"\n",
"manual_matches_dfs = []\n",
"\n",
"for fname in manual_file_names:\n",
" df = pd.read_excel(f'../Daten/Katalogabgleich/Ausgefüllt/{fname}')\n",
" manual_matches_dfs.append(df)\n",
"\n",
"man_matches = pd.concat(manual_matches_dfs, ignore_index=True)"
]
},
{
"cell_type": "code",
"execution_count": 79,
"id": "7a39c6a7-d81b-4f79-89a0-bafc96411d93",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"has_hw_catalog = man_matches.dropna(subset=['control'])"
]
},
{
"cell_type": "markdown",
"id": "881ea2ed-277b-46da-8f23-e3f3f56aae86",
"metadata": {},
"source": [
"## Matching statistics"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "cb7b6815-c782-4e00-bd7f-9abcf7f523f5",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"75 \n",
"75 \n",
"True\n"
]
}
],
"source": [
"def num_in_lis(num, lis_str):\n",
" if pd.isna(lis_str):\n",
" return False \n",
" else:\n",
" if isinstance(lis_str, int):\n",
" lis = [lis_str]\n",
" if isinstance(lis_str, str):\n",
" if '?' in lis_str:\n",
" return False\n",
" lis = lis_str.split(', ')\n",
" lis = [int(n) for n in lis]\n",
" return num in lis\n",
"\n",
"example = man_matches.loc[9]\n",
"print(example['id_1'], type(example['id_1']))\n",
"print(example['control'], type(example['control']))\n",
"print(num_in_lis(example['id_1'], example['control']))"
]
},
{
"cell_type": "code",
"execution_count": 108,
"id": "836d1b5e-ef2f-4ff8-9c03-298b029f73b2",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5778 out of 8756 BE signatures from the appropriate time period were matched\n",
"For 4564 matches the first one was correct\n",
"For 5072 matches one of the five given ones in the table was correct\n",
"124 matches have two or more mentions in the handrwitten catalog\n"
]
}
],
"source": [
"BE_signatures_matched = len(man_matches.dropna(subset=['control']))\n",
"print(BE_signatures_matched, 'out of', len(man_matches), 'BE signatures from the appropriate time period were matched')\n",
"\n",
"first_matches = sum(man_matches.apply(lambda x: num_in_lis(x['id_1'], x['control']), axis=1))\n",
"print('For', first_matches, 'matches the first one was correct')\n",
"any_matches = sum(man_matches.apply(lambda x: num_in_lis(x['id_1'], x['control']) \n",
" or num_in_lis(x['id_2'], x['control']) \n",
" or num_in_lis(x['id_3'], x['control']) \n",
" or num_in_lis(x['id_4'], x['control']) \n",
" or num_in_lis(x['id_5'], x['control']), axis=1))\n",
"print('For', any_matches, 'matches one of the five given ones in the table was correct')\n",
"\n",
"double_matches = man_matches['control'].str.contains(',').sum()\n",
"print(double_matches, 'matches have two or more mentions in the handrwitten catalog')"
]
},
{
"cell_type": "code",
"execution_count": 83,
"id": "9f7bd1bf-a4cd-427a-b65a-5e2fce029212",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"num_re = re.compile('\\d{1,4}(?!\\?)')\n",
"all_matches = []\n",
"for row in man_matches['control']:\n",
" match = num_re.findall(str(row))\n",
" if match:\n",
" all_matches.append(match)\n",
"\n",
"flat_matches = [el for sublis in all_matches for el in sublis]\n",
"set_matches = set(flat_matches)"
]
},
{
"cell_type": "code",
"execution_count": 84,
"id": "17434971-7462-4f00-8370-d5573f3ea72c",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5086 entries out of 9403 entries from the handwritten catalog were matched (at least once)\n"
]
},
{
"data": {
"text/plain": [
"[2, 4, 7, 9, 10, 11, 12, 14, 16, 18, 19, 20, 22, 25, 26, 28, 29, 32, 34, 35]"
]
},
"execution_count": 84,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"unique_matches_int = sorted([int(n) for n in set_matches])\n",
"\n",
"print(len(unique_matches_int), 'entries out of', len(entry_df), 'entries from the handwritten catalog were matched (at least once)')\n",
"unique_matches_int[:20]"
]
},
{
"cell_type": "code",
"execution_count": 111,
"id": "25fcabf9-fb1c-4fe7-838a-8b595f0a2673",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"no_matches_df = entry_df.loc[entry_df.index.difference(unique_matches_int)]\n",
"matches_df = entry_df.loc[unique_matches_int]"
]
},
{
"cell_type": "code",
"execution_count": 136,
"id": "24bb9a74-0e99-4760-a3d5-05f8df71f85a",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'Historia Nova Europæ': 0.48382838283828383, 'Poëtica': 0.5410273515677118, 'Paralipomena Historica': 0.5508870214752568, 'Theologia': 0.7555555555555555, 'Philologia': 0.596694214876033, 'Historia Naturalis': 0.6634615384615384, 'Historia Ecclesiastica': 0.689119170984456, 'Artes': 0.5623342175066313, 'Philosophia': 0.6542857142857142, 'Historia Antiqua': 0.3862928348909657, 'Codices Manuscripti': 0.0034129692832764505, 'Imagines Incisæ': 0.04330708661417323, 'Geographia': 0.5317460317460317, 'Iurisprudentia': 0.6715686274509803, 'Historia Nova extra Europam': 0.5577889447236181, 'Rhetorica': 0.5864197530864198, 'Mathematica': 0.7559055118110236, 'Grammatica': 0.5819672131147541, 'Medicina': 0.6330275229357798, 'Chronologia': 0.5612244897959183, 'Miscellanea Historica': 0.3877551020408163, 'Imagines Variæ Incisæ': 0.0851063829787234, 'Effigierum Incisarum Collectio': 0.0, 'Imaginum Delineatarum Collectio': 0.0}\n"
]
}
],
"source": [
"all_counts = entry_df['category'].value_counts()\n",
"match_counts = matches_df['category'].value_counts()\n",
"no_match_counts = no_matches_df['category'].value_counts()\n",
"\n",
"ratios = {}\n",
"for cat, count in all_counts.items():\n",
" matched = 0\n",
" if cat in match_counts.index:\n",
" matched = match_counts[cat]\n",
" ratios[cat] = matched / count\n",
"\n",
"print(ratios)"
]
},
{
"cell_type": "code",
"execution_count": 170,
"id": "6c952698-2bc7-4511-a688-3bcd30ed8196",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"image/png": "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MlOhQgUpX768dO7cWUJCQuS33377mPkiIiIiypAMl8wcPHhQKlSoIEOGDJECBQpImzZtZO/evR8zb0RERETvlOFgxsfHR3766SeJiYmRefPmya1bt6RmzZpStGhRGT9+vNy+fftj5pOIiIjIoEz3ZjI1NZV27drJvn375PLly9KyZUtZsGCBODk5SXBw8MfIIxEREVG63ut1BlpFixaVIUOGyPDhw8XS0lJ27tz5ofJFRERElCHv/aLJyMhI+eWXX2Tt2rWSNWtWadasmXTq1OlD5o2IiIjonTIVzNy6dUuWLFkiS5YskejoaPH19ZXZs2dLs2bNJFeuXB8rj0RERETpynAwExgYKHv37hUbGxtp27atdOzYUUqUKPEx80ZERET0ThkOZkxNTWXt2rVSr149yZo168fMExEREVGGZTiY2bRp08fMBxEREdF7+Ve9mYiIiIg+NQYzREREZNQYzBAREZFRYzBDRERERo3BDBERERk1BjNERERk1BjMEBERkVFjMENERERGjcEMERERGTUGM0RERGTUGMwQERGRUWMwQ0REREaNwQwREREZNQYzREREZNQYzBAREZFRYzBDRERERo3BDBERERk1BjNERERk1BjMEBERkVFjMENERERG7ZMGMxMmTJBKlSqJhYWF5M+fXxo2bCiXLl1SLQNAQkNDxd7eXkxNTcXf31/OnTv3iXJMREREn5tPGsxERkZKr1695MiRIxIRESHJyclSq1YtefHihbLM5MmTZfr06TJnzhyJiooSOzs7CQwMlOfPn3/CnBMREdHnItunXPmOHTtUfy9evFjy588vJ06ckGrVqgkAmTlzpgwfPlwaN24sIiJLly4VW1tbWbFihXTr1u1TZJuIiIg+I59Vm5m4uDgREcmbN6+IiERHR0tMTIzUqlVLWcbExET8/Pzk0KFDBtNITEyUZ8+eqT5ERET05fpsghkA0r9/f6lSpYqUKVNGRERiYmJERMTW1la1rK2trTIvrQkTJoiVlZXycXBw+LgZJyIiok/qswlmevfuLWfOnJGVK1fqzdNoNKq/AehN0xo6dKjExcUpn1u3bn2U/BIREdHn4ZO2mdH65ptvZNOmTfLnn39KoUKFlOl2dnYi8qaEpkCBAsr0Bw8e6JXWaJmYmIiJicnHzTARERF9Nj5pyQwA6d27t6xbt0727NkjTk5OqvlOTk5iZ2cnERERyrSkpCSJjIwUX1/f/3V2iYiI6DP0SUtmevXqJStWrJCNGzeKhYWF0g7GyspKTE1NRaPRSN++fSUsLExcXFzExcVFwsLCxMzMTEJCQj5l1omIiOgz8UmDmXnz5omIiL+/v2r64sWLpX379iIiMmjQIElISJCePXtKbGyseHl5SXh4uFhYWPyPc0tERESfo08azAB45zIajUZCQ0MlNDT042eIiIiIjM5n05uJiIiI6H0wmCEiIiKjxmCGiIiIjBqDGSIiIjJqDGaIiIjIqDGYISIiIqPGYIaIiIiMGoMZIiIiMmoMZoiIiMioMZghIiIio8ZghoiIiIwagxkiIiIyagxmiIiIyKgxmCEiIiKjxmCGiIiIjBqDGSIiIjJqDGaIiIjIqDGYISIiIqPGYIaIiIiMGoMZIiIiMmoMZoiIiMioMZghIiIio8ZghoiIiIwagxkiIiIyagxmiIiIyKgxmCEiIiKjxmCGiIiIjBqDGSIiIjJqDGaIiIjIqDGYISIiIqPGYIaIiIiMGoMZIiIiMmoMZoiIiMioMZghIiIio8ZghoiIiIwagxkiIiIyap80mPnzzz+lfv36Ym9vLxqNRjZs2KCaD0BCQ0PF3t5eTE1Nxd/fX86dO/dpMktERESfpU8azLx48ULKli0rc+bMMTh/8uTJMn36dJkzZ45ERUWJnZ2dBAYGyvPnz//HOSUiIqLPVbZPufKgoCAJCgoyOA+AzJw5U4YPHy6NGzcWEZGlS5eKra2trFixQrp16/a/zCoRERF9pj7bNjPR0dESExMjtWrVUqaZmJiIn5+fHDp0KN3vJSYmyrNnz1QfIiIi+nJ9tsFMTEyMiIjY2tqqptva2irzDJkwYYJYWVkpHwcHh4+aTyIiIvq0PttgRkuj0aj+BqA3TdfQoUMlLi5O+dy6detjZ5GIiIg+oU/aZuZt7OzsRORNCU2BAgWU6Q8ePNArrdFlYmIiJiYmHz1/RERE9Hn4bEtmnJycxM7OTiIiIpRpSUlJEhkZKb6+vp8wZ0RERPQ5+aQlM/Hx8XLlyhXl7+joaDl16pTkzZtXChcuLH379pWwsDBxcXERFxcXCQsLEzMzMwkJCfmEuSYiIqLPyScNZo4fPy4BAQHK3/379xcRkXbt2smSJUtk0KBBkpCQID179pTY2Fjx8vKS8PBwsbCw+FRZJiIios/MJw1m/P39BUC68zUajYSGhkpoaOj/LlNERERkVD7bBsBERET/huOQre/93esT637AnNDH9tk2ACYiIiLKCAYzREREZNQYzBAREZFRYzBDRERERo3BDBERERk1BjNERERk1BjMEBERkVFjMENERERGjcEMERERGTUGM0RERGTUGMwQERGRUWMwQ0REREaNwQwREREZNQYzREREZNQYzBAREZFRYzBDRERERo3BDBERERk1BjNERERk1LJ96gwQERF9zhyHbP1X378+se4HygmlhyUzREREZNQYzBAREZFRYzBDRERERo3BDBERERk1BjNERERk1BjMEBERkVFjMENERERGjcEMERERGTUGM0RERGTUGMwQERGRUWMwQ0REREaNwQwREREZNQYzREREZNQYzBAREZFRYzBDRERERs0ogpkff/xRnJycJGfOnOLh4SH79+//1FkiIiKiz8RnH8ysXr1a+vbtK8OHD5e//vpLqlatKkFBQXLz5s1PnTUiIiL6DHz2wcz06dOlU6dO0rlzZylVqpTMnDlTHBwcZN68eZ86a0RERPQZyPapM/A2SUlJcuLECRkyZIhqeq1ateTQoUMGv5OYmCiJiYnK33FxcSIi8uzZs4+Sx9TEl+/93bR5+lBp/Zt0/gtpfaz9zrSYFtP6MtP6kNeuMqN3/qu0/h5T+19935ho9xuAdy+Mz9idO3cgIjh48KBq+vjx41G8eHGD3xk9ejREhB9++OGHH374+QI+t27deme88FmXzGhpNBrV3wD0pmkNHTpU+vfvr/ydmpoqT548EWtr63S/8zE8e/ZMHBwc5NatW2Jpacm0mBbT+gLS+hzzxLSYljGllRkA5Pnz52Jvb//OZT/rYCZfvnySNWtWiYmJUU1/8OCB2NraGvyOiYmJmJiYqKblzp37Y2XxnSwtLT/Yj8+0mBbT+jzS+hzzxLSYljGllVFWVlYZWu6zbgCcI0cO8fDwkIiICNX0iIgI8fX1/US5IiIios/JZ10yIyLSv39/adOmjVSsWFF8fHxk4cKFcvPmTenevfunzhoRERF9Bj77YKZ58+by+PFj+f777+XevXtSpkwZ2bZtmxQpUuRTZ+2tTExMZPTo0XpVXkyLaTEt403rc8wT02JaxpTWx6IBMtLniYiIiOjz9Fm3mSEiIiJ6FwYzREREZNQYzBAREZFRYzBDRERERo3BDBERERk1BjNEREQfQcOGDaVHjx6fOhv/CeyaTf8Tb3ufFlFmfcjj6b9wbKampkqWLFneOc2YfajfMb398j7pnz59WkqVKiU5cuT41/n8Lxyn/8aXcyQbkdTU1A+WljYWffHiheo1858Dbd6OHTsmO3bs+Kzyxxg+Y7T76cKFC3Lt2rUPeuy+r9TUVOWiHhcXJ0+fPv0gaV2/fl3OnTsnCQkJHyKb/9qHOkZ1b86nT5+WY8eOybVr1977hioicv/+fbl8+bLEx8dLSkrKe+frQ9H9HV++fClPnjx573S0++ro0aOyY8cOOXDggCQmJopGo8n0tpYtW1Zy5Mghs2bNEi8vLxF58+LkzP62utv39OlTuX//fqa+byi9Lw2DmX/pfQ5K7cmyY8cO+fHHH2Xjxo1y9erV91q3RqORrVu3SoMGDcTX11caNmwoR48eldevX2c6vQ8dZGk0Glm3bp0EBQXJqVOn5PHjx++dlu6/af//b9N63/TS218faj/+2238EOvXaDSyYcMGqV27tmzfvv29f8MPua+058+oUaOkRo0aUrVqVZk5c+Z75Umb1siRI6Vx48ZSsWJFCQkJkfnz52c6PRHD+/59jy3tzevJkyeSkJAgSUlJmU4PgLKNw4cPlyZNmkiHDh3E29tb+vXrJ+fPn89UWtrjoU6dOlKtWjWpU6eOTJo0SZ4/f56JrVPv+71798qqVavkwIED7xWY6m7juHHjpGnTplKiRAnp27evrFq1KlNpadMZMmSIdOzYUXr16iWjRo0SX19fefnypWTNmvW98leuXDm5ceOGBAcHi0jmAhrd7RszZozUr19fSpQoIa1atZKff/450/nR3fc//fST9O/fXzp06CDr169/7yDwswDKkNTUVADA9evXcfLkSURHR+PVq1cAgJSUlEylAQCDBg1C4cKFUb58efj4+KB69eo4evRopvO1adMmWFhYYMiQIdi1axfKli0LX19frFmzBklJSRlOR3cbtm3bhrlz52LTpk24evVqpvKjm86uXbtgaWmJn376SdlXAPD69ev3Si82NhaJiYnKdmV0v2tp9//evXvRv39/tG/fHr/88gueP3+e6fR0l925cyd++eUXrFu3Do8ePfpXeXv8+DHu3LljcF5m0jl8+DAmTZqEyZMnY+/evZnKi66tW7ciV65cmDt3LmJiYvTm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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sorted_ratios = sorted(ratios.items(), key=lambda x: x[1], reverse=True)\n",
"n, r = list(zip(*sorted_ratios))\n",
"\n",
"fix, ax = plt.subplots()\n",
"ax.bar(n, [100 * ratio for ratio in r])\n",
"plt.xticks(rotation=45, ha='right')\n",
"ax.set_ylabel('Vollständigkeit [%]')\n",
"ax.set_title('Verbindung von hs. Katalog und mod. Katalog')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "b49f3686-efd3-478b-b493-b69b60ce3ad4",
"metadata": {},
"source": [
"## Add new matching data to existing catalogue data"
]
},
{
"cell_type": "code",
"execution_count": 171,
"id": "c52f2098-221b-4912-841a-d54e25788143",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"BE_df = pd.read_excel('../Daten/Vorhersagen/WIP_complete_BE.xlsx', index_col=0)"
]
},
{
"cell_type": "code",
"execution_count": 172,
"id": "32d281c0-4015-4913-a5ec-da22c6a9c8ad",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Barcode', 'Titel', 'Autor', 'Mitwirkender',\n",
" 'Anfang Veröffentlichungsdatum', 'Ende Veröffentlichungsdatum',\n",
" 'Veröffentlichungsdatum', 'Veröffentlichungsort',\n",
" 'Veröffentlichungsort (normiert)', 'Sprache', 'Schlagwörter',\n",
" 'Schlagwörter (mit GND)', 'Vorbesitzer', 'Typ', 'Bemerkungen',\n",
" 'Gültiger Barcode', 'Dateiname', 'Wappenklassifizierung', 'p_A', 'p_B',\n",
" 'p_C', 'p_N', 'Farbklassifizierung', 'p_blue', 'p_red', 'p_yellow',\n",
" 'hs. Katalog', 'hs. Katalog Konfidenz', 'hs. Katalogband',\n",
" 'hs. Katalogseite Digitalisat', 'Wissensklasse', 'Wissensunterklasse',\n",
" 'Formatangabe', 'hs. Katalogseite Handschrift', 'hs. Katalogeintrag ID',\n",
" 'hs. Katalogeintrag', 'hs. Katalog Image URL', 'identifier',\n",
" 'ABO-Barcode'],\n",
" dtype='object')"
]
},
"execution_count": 172,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# volume \tpage number \tcategory \tsubcategory \tformat \thandwritten page number \tentry_ID \tentry \t\n",
"BE_df['hs. Katalog'] = 0\n",
"\n",
"BE_df.columns"
]
},
{
"cell_type": "code",
"execution_count": 173,
"id": "0ddd0ffe-3546-43fb-90ff-1d7206af138e",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['volume', 'page number', 'category', 'subcategory', 'format',\n",
" 'handwritten page number', 'entry_ID', 'entry', 'cleaned entry'],\n",
" dtype='object')"
]
},
"execution_count": 173,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"entry_df.columns"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b8d40359-5eba-49e6-b2a6-3bc37786dd4c",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"dod_id = {\n",
" '14.376': 51202, \n",
" '14.377': 51184,\n",
" '14.378': 51219\n",
"}\n",
"\n",
"for i, entry in has_hw_catalog.iterrows():\n",
" man_match = str(entry['control'])\n",
" match_regex = re.compile('\\d{1,4}')\n",
" matches = match_regex.findall(man_match)\n",
" if matches:\n",
" first_match_id = int(matches[0])\n",
" corr_entry = entry_df.loc[first_match_id]\n",
" BE_id = entry['input_id']\n",
" BE_df.at[BE_id, 'hs. Katalog'] = 1\n",
" if '?' not in man_match:\n",
" BE_df.at[BE_id, 'hs. Katalog Konfidenz'] = 'sicher'\n",
" else:\n",
" BE_df.at[BE_id, 'hs. Katalog Konfidenz'] = 'unsicher'\n",
" BE_df.at[BE_id, 'hs. Katalogband'] = str(corr_entry['volume'])\n",
" BE_df.at[BE_id, 'hs. Katalogseite Digitalisat'] = corr_entry['page number']\n",
" BE_df.at[BE_id, 'Wissensklasse'] = corr_entry['category']\n",
" BE_df.at[BE_id, 'Wissensunterklasse'] = corr_entry['subcategory']\n",
" BE_df.at[BE_id, 'Formatangabe'] = corr_entry['format']\n",
" BE_df.at[BE_id, 'hs. Katalogseite Handschrift'] = corr_entry['handwritten page number']\n",
" BE_df.at[BE_id, 'hs. Katalogeintrag ID'] = corr_entry['entry_ID']\n",
" BE_df.at[BE_id, 'hs. Katalogeintrag'] = corr_entry['entry']\n",
" BE_df.at[BE_id, 'hs. Katalog Image URL'] = f\"https://iiif.onb.ac.at/images/DOD/{dod_id[str(corr_entry['volume'])]}/{corr_entry['page number']:08}.jp2/full/full/0/native.jpg\""
]
},
{
"cell_type": "code",
"execution_count": 91,
"id": "4ed3c187-ab7a-419a-8530-386a69143b3d",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# BE_df.to_excel('../Daten/Vorhersagen/Katalogauszug, Vorhersagen und hs. Katalogverbindungen.xlsx', index=False)\n",
"BE_df.to_excel('../Daten/Vorhersagen/Complete_BE.xlsx', index=False)"
]
},
{
"cell_type": "code",
"execution_count": 92,
"id": "7f5dabc1-49bf-469a-9abe-c15fa20204ce",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"Index(['Signatur', 'Barcode', 'Titel', 'Autor', 'Mitwirkender',\n",
" 'Anfang Veröffentlichungsdatum', 'Ende Veröffentlichungsdatum',\n",
" 'Veröffentlichungsdatum', 'Veröffentlichungsort',\n",
" 'Veröffentlichungsort (normiert)', 'Sprache', 'Schlagwörter',\n",
" 'Schlagwörter (mit GND)', 'Vorbesitzer', 'Typ', 'Bemerkungen',\n",
" 'Gültiger Barcode', 'Dateiname', 'Wappenklassifizierung', 'p_A', 'p_B',\n",
" 'p_C', 'p_N', 'Farbklassifizierung', 'p_blue', 'p_red', 'p_yellow',\n",
" 'hs. Katalog', 'hs. Katalog Konfidenz', 'hs. Katalogband',\n",
" 'hs. Katalogseite Digitalisat', 'Wissensklasse', 'Wissensunterklasse',\n",
" 'Formatangabe', 'hs. Katalogseite Handschrift', 'hs. Katalogeintrag ID',\n",
" 'hs. Katalogeintrag', 'hs. Katalog Image URL'],\n",
" dtype='object')"
]
},
"execution_count": 92,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BE_df.columns"
]
},
{
"cell_type": "markdown",
"id": "88b825b9-8557-441d-b387-697db4ea2a5b",
"metadata": {},
"source": [
"# Eugeniana-Inkunabeln aus dem handschriftlichen Katalog extrahieren"
]
},
{
"cell_type": "code",
"execution_count": 513,
"id": "bc7c8cf5-7afa-43c1-8427-ab7cd58323b3",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1661]\n",
"[1628]\n",
"[1703, 5926]\n",
"[1662]\n"
]
}
],
"source": [
"def extract_four_digit_number(entry):\n",
" four_dig_re = re.compile('(?\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" volume \n",
" page number \n",
" category \n",
" subcategory \n",
" format \n",
" handwritten page number \n",
" entry_ID \n",
" entry \n",
" cleaned entry \n",
" years \n",
" \n",
" \n",
" \n",
" \n",
" 3 \n",
" 14.376 \n",
" 25 \n",
" Theologia \n",
" Textus & Versiones Sacræ Scripturæ \n",
" Folio \n",
" 1 \n",
" 14.376_025_03 \n",
" 4 Biblia Sacra Latina Moguntina dicta, prima omnium editio in Membranis. 2 Vol. Moguntiæ. 1462.¬ Ioan. Fust, & Petr. Schoiffer de Gerneshem. n. 2088. II.O.5. \n",
" Biblia Sacra Latina Moguntina dicta prima omnium editio in Membranis 2 Vol Moguntiae 1462 Ioan Fust & Petr Schoiffer de Gerneshem n 2088 IIO5 \n",
" [1462] \n",
" \n",
" \n",
" 4 \n",
" 14.376 \n",
" 25 \n",
" Theologia \n",
" Textus & Versiones Sacræ Scripturæ \n",
" Folio \n",
" 1 \n",
" 14.376_025_04 \n",
" 5 Biblia Sacra Latina Moguntina, editio altera 2 Vol. chartâ Magnâ. Moguntiæ. 1472. Petr. Schoiffer. II.O.7. de Gerneshem. n. 2089. \n",
" Biblia Sacra Latina Moguntina editio altera 2 Vol charta Magna Moguntiae 1472 Petr Schoiffer IIO7 de Gerneshem n 2089 \n",
" [1472] \n",
" \n",
" \n",
" 6 \n",
" 14.376 \n",
" 25 \n",
" Theologia \n",
" Textus & Versiones Sacræ Scripturæ \n",
" Folio \n",
" 1 \n",
" 14.376_025_06 \n",
" 7 Biblia Sacra latina vulgatæ Editionis. 2 Vol. chartâ III.B.3. Magnâ. 1474. absque loco Editionis n. 2090. \n",
" Biblia Sacra latina vulgatae Editionis 2 Vol charta IIIB3 Magna 1474 absque loco Editionis n 2090 \n",
" [1474] \n",
" \n",
" \n",
" 7 \n",
" 14.376 \n",
" 25 \n",
" Theologia \n",
" Textus & Versiones Sacræ Scripturæ \n",
" Folio \n",
" 1 \n",
" 14.376_025_07 \n",
" 8 Biblia Sacra Latina cum Evangelistarum Canonibus III.B.7. & concordantiis. chartâ M. Coloniæ. 1479. de Homborch. n. 2093. \n",
" Biblia Sacra Latina cum Evangelistarum Canonibus IIIB7 & concordantiis charta M Coloniae 1479 de Homborch n 2093 \n",
" [1479] \n",
" \n",
" \n",
" 8 \n",
" 14.376 \n",
" 26 \n",
" Theologia \n",
" Textus & Versiones Sacræ Scripturæ \n",
" Folio \n",
" 2 \n",
" 14.376_026_00 \n",
" 9. Biblia Sacra Latina. Venetiis. 1481. Leonard Wild de Ratisbonâ n. 2302. III. D. 11. \n",
" Biblia Sacra Latina Venetiis 1481 Leonard Wild de Ratisbona n 2302 III D 11 \n",
" [1481] \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 9017 \n",
" 14.378 \n",
" 522 \n",
" Codices Manuscripti \n",
" NaN \n",
" Quarto \n",
" 1348 \n",
" 14.378_522_05 \n",
" 53 Tractatus de Matrimonio à Fr. Lùcano Parmensi compilat. anno 1468. Ms. in Membranis. n. CCIX. \n",
" Tractatus de Matrimonio a Fr Lucano Parmensi compilat anno 1468 Ms in Membranis n CCIX \n",
" [1468] \n",
" \n",
" \n",
" 9033 \n",
" 14.378 \n",
" 523 \n",
" Codices Manuscripti \n",
" NaN \n",
" Quarto \n",
" 1347* \n",
" 14.378_523_09 \n",
" 68 Monita Agapæti Batilica ad Imper. Iustinian. Ms. græcè A 1500 \n",
" Monita Agapaeti Batilica ad Imper Iustinian Ms graece A 1500 \n",
" [1500] \n",
" \n",
" \n",
" 9051 \n",
" 14.378 \n",
" 527 \n",
" Codices Manuscripti \n",
" NaN \n",
" Octavo und kleiner \n",
" 1349 \n",
" 14.378_527_05 \n",
" 10 Succineta & accurata de scriptio Civitatis Constantinopol. a Constantino Magno anno 331. ad Sult. Mehemet II. anno 1453. cum descriptione Canalis Maris Nigri.¬ autore Ioan. Adamo Zizla. Ms. in 8.° germanicè. \n",
" Succineta & accurata de scriptio Civitatis Constantinopol a Constantino Magno anno 331 ad Sult Mehemet II anno 1453 cum descriptione Canalis Maris Nigri autore Ioan Adamo Zizla Ms in 8° germanice \n",
" [1453] \n",
" \n",
" \n",
" 9052 \n",
" 14.378 \n",
" 528 \n",
" Codices Manuscripti \n",
" NaN \n",
" Octavo und kleiner \n",
" 1350 \n",
" 14.378_528_00 \n",
" 84. I.Trionfi di Francesco Petrarca con miniature Ms. 8.° 11. Questo Ms.° è del tempo del medesimo Petrarca n. CCXXXIV. obüt Petrarca an. 1374. & codex in fine habet 1459. p. 519 \n",
" ITrionfi di Francesco Petrarca con miniature Ms 8° 11 Questo Ms° e del tempo del medesimo Petrarca n CCXXXIV obüt Petrarca an 1374 & codex in fine habet 1459 p 519 \n",
" [1374, 1459] \n",
" \n",
" \n",
" 9059 \n",
" 14.378 \n",
" 529 \n",
" Codices Manuscripti \n",
" NaN \n",
" Octavo und kleiner \n",
" 1351 \n",
" 14.378_529_03 \n",
" Descriptio civitatis Constantinopoleos a Constantino M. anno 331. ad Sultanum Mehemet II. anno 1453. cum descriptione Canalis Maris Nigri. autore I. Adamo Zizla. 8.° Ms. germanicè \n",
" Descriptio civitatis Constantinopoleos a Constantino M anno 331 ad Sultanum Mehemet II anno 1453 cum descriptione Canalis Maris Nigri autore I Adamo Zizla 8° Ms germanice \n",
" [1453] \n",
" \n",
" \n",
"
\n",
"366 rows × 10 columns
\n",
""
],
"text/plain": [
" volume page number category \n",
"3 14.376 25 Theologia \\\n",
"4 14.376 25 Theologia \n",
"6 14.376 25 Theologia \n",
"7 14.376 25 Theologia \n",
"8 14.376 26 Theologia \n",
"... ... ... ... \n",
"9017 14.378 522 Codices Manuscripti \n",
"9033 14.378 523 Codices Manuscripti \n",
"9051 14.378 527 Codices Manuscripti \n",
"9052 14.378 528 Codices Manuscripti \n",
"9059 14.378 529 Codices Manuscripti \n",
"\n",
" subcategory format \n",
"3 Textus & Versiones Sacræ Scripturæ Folio \\\n",
"4 Textus & Versiones Sacræ Scripturæ Folio \n",
"6 Textus & Versiones Sacræ Scripturæ Folio \n",
"7 Textus & Versiones Sacræ Scripturæ Folio \n",
"8 Textus & Versiones Sacræ Scripturæ Folio \n",
"... ... ... \n",
"9017 NaN Quarto \n",
"9033 NaN Quarto \n",
"9051 NaN Octavo und kleiner \n",
"9052 NaN Octavo und kleiner \n",
"9059 NaN Octavo und kleiner \n",
"\n",
" handwritten page number entry_ID \n",
"3 1 14.376_025_03 \\\n",
"4 1 14.376_025_04 \n",
"6 1 14.376_025_06 \n",
"7 1 14.376_025_07 \n",
"8 2 14.376_026_00 \n",
"... ... ... \n",
"9017 1348 14.378_522_05 \n",
"9033 1347* 14.378_523_09 \n",
"9051 1349 14.378_527_05 \n",
"9052 1350 14.378_528_00 \n",
"9059 1351 14.378_529_03 \n",
"\n",
" entry \n",
"3 4 Biblia Sacra Latina Moguntina dicta, prima omnium editio in Membranis. 2 Vol. Moguntiæ. 1462.¬ Ioan. Fust, & Petr. Schoiffer de Gerneshem. n. 2088. II.O.5. \\\n",
"4 5 Biblia Sacra Latina Moguntina, editio altera 2 Vol. chartâ Magnâ. Moguntiæ. 1472. Petr. Schoiffer. II.O.7. de Gerneshem. n. 2089. \n",
"6 7 Biblia Sacra latina vulgatæ Editionis. 2 Vol. chartâ III.B.3. Magnâ. 1474. absque loco Editionis n. 2090. \n",
"7 8 Biblia Sacra Latina cum Evangelistarum Canonibus III.B.7. & concordantiis. chartâ M. Coloniæ. 1479. de Homborch. n. 2093. \n",
"8 9. Biblia Sacra Latina. Venetiis. 1481. Leonard Wild de Ratisbonâ n. 2302. III. D. 11. \n",
"... ... \n",
"9017 53 Tractatus de Matrimonio à Fr. Lùcano Parmensi compilat. anno 1468. Ms. in Membranis. n. CCIX. \n",
"9033 68 Monita Agapæti Batilica ad Imper. Iustinian. Ms. græcè A 1500 \n",
"9051 10 Succineta & accurata de scriptio Civitatis Constantinopol. a Constantino Magno anno 331. ad Sult. Mehemet II. anno 1453. cum descriptione Canalis Maris Nigri.¬ autore Ioan. Adamo Zizla. Ms. in 8.° germanicè. \n",
"9052 84. I.Trionfi di Francesco Petrarca con miniature Ms. 8.° 11. Questo Ms.° è del tempo del medesimo Petrarca n. CCXXXIV. obüt Petrarca an. 1374. & codex in fine habet 1459. p. 519 \n",
"9059 Descriptio civitatis Constantinopoleos a Constantino M. anno 331. ad Sultanum Mehemet II. anno 1453. cum descriptione Canalis Maris Nigri. autore I. Adamo Zizla. 8.° Ms. germanicè \n",
"\n",
" cleaned entry \n",
"3 Biblia Sacra Latina Moguntina dicta prima omnium editio in Membranis 2 Vol Moguntiae 1462 Ioan Fust & Petr Schoiffer de Gerneshem n 2088 IIO5 \\\n",
"4 Biblia Sacra Latina Moguntina editio altera 2 Vol charta Magna Moguntiae 1472 Petr Schoiffer IIO7 de Gerneshem n 2089 \n",
"6 Biblia Sacra latina vulgatae Editionis 2 Vol charta IIIB3 Magna 1474 absque loco Editionis n 2090 \n",
"7 Biblia Sacra Latina cum Evangelistarum Canonibus IIIB7 & concordantiis charta M Coloniae 1479 de Homborch n 2093 \n",
"8 Biblia Sacra Latina Venetiis 1481 Leonard Wild de Ratisbona n 2302 III D 11 \n",
"... ... \n",
"9017 Tractatus de Matrimonio a Fr Lucano Parmensi compilat anno 1468 Ms in Membranis n CCIX \n",
"9033 Monita Agapaeti Batilica ad Imper Iustinian Ms graece A 1500 \n",
"9051 Succineta & accurata de scriptio Civitatis Constantinopol a Constantino Magno anno 331 ad Sult Mehemet II anno 1453 cum descriptione Canalis Maris Nigri autore Ioan Adamo Zizla Ms in 8° germanice \n",
"9052 ITrionfi di Francesco Petrarca con miniature Ms 8° 11 Questo Ms° e del tempo del medesimo Petrarca n CCXXXIV obüt Petrarca an 1374 & codex in fine habet 1459 p 519 \n",
"9059 Descriptio civitatis Constantinopoleos a Constantino M anno 331 ad Sultanum Mehemet II anno 1453 cum descriptione Canalis Maris Nigri autore I Adamo Zizla 8° Ms germanice \n",
"\n",
" years \n",
"3 [1462] \n",
"4 [1472] \n",
"6 [1474] \n",
"7 [1479] \n",
"8 [1481] \n",
"... ... \n",
"9017 [1468] \n",
"9033 [1500] \n",
"9051 [1453] \n",
"9052 [1374, 1459] \n",
"9059 [1453] \n",
"\n",
"[366 rows x 10 columns]"
]
},
"execution_count": 526,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"before_1501"
]
},
{
"cell_type": "code",
"execution_count": 527,
"id": "740e1929-f137-4853-82db-3d90905beed4",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" volume \n",
" page number \n",
" category \n",
" subcategory \n",
" format \n",
" handwritten page number \n",
" entry_ID \n",
" entry \n",
" cleaned entry \n",
" years \n",
" \n",
" \n",
" \n",
" \n",
" 5 \n",
" 14.376 \n",
" 25 \n",
" Theologia \n",
" Textus & Versiones Sacræ Scripturæ \n",
" Folio \n",
" 1 \n",
" 14.376_025_05 \n",
" 6 Biblia Sacra Latina cum glossa & Comment. 4 Vol. chartâ Magnâ. Editio perantiqua sine loco & II.O.1. anno n. 2086. \n",
" Biblia Sacra Latina cum glossa & Comment 4 Vol charta Magna Editio perantiqua sine loco & IIO1 anno n 2086 \n",
" [] \n",
" \n",
" \n",
" 17 \n",
" 14.376 \n",
" 27 \n",
" Theologia \n",
" Textus & Versiones Sacræ Scripturæ \n",
" Folio \n",
" 3 \n",
" 14.376_027_02 \n",
" 18 La S.e Bible historiée dite d'Escholatre avec des fig. gravées en bois. 2 Vol. sans datte. Barthel. Verard. n. 165. \n",
" La Se Bible historiee dite d'Escholatre avec des fig gravees en bois 2 Vol sans datte Barthel Verard n 165 \n",
" [] \n",
" \n",
" \n",
" 21 \n",
" 14.376 \n",
" 27 \n",
" Theologia \n",
" Textus & Versiones Sacræ Scripturæ \n",
" Folio \n",
" 3 \n",
" 14.376_027_06 \n",
" 22 Biblia Sacra germanicè Mss. in Membranis cum figuris pictis. n. II. \n",
" Biblia Sacra germanice Mss in Membranis cum figuris pictis n II \n",
" [] \n",
" \n",
" \n",
" 22 \n",
" 14.376 \n",
" 27 \n",
" Theologia \n",
" Textus & Versiones Sacræ Scripturæ \n",
" Folio \n",
" 3 \n",
" 14.376_027_07 \n",
" 23 Biblia Sacra Hollandicé Mss. in Membranis cum fig. pictis. 2 Vol. n. III. \n",
" Biblia Sacra Hollandice Mss in Membranis cum fig pictis 2 Vol n III \n",
" [] \n",
" \n",
" \n",
" 24 \n",
" 14.376 \n",
" 27 \n",
" Theologia \n",
" Textus & Versiones Sacræ Scripturæ \n",
" Folio \n",
" 3 \n",
" 14.376_027_09 \n",
" 25 Historia Veteris ac Novi Testamenti MS. in Membranis cum innumeris ferè Imaginibus miniatè depictis. n. 1. \n",
" Historia Veteris ac Novi Testamenti MS in Membranis cum innumeris fere Imaginibus miniate depictis n 1 \n",
" [] \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 9398 \n",
" 14.378 \n",
" 582 \n",
" Imaginum Delineatarum Collectio \n",
" NaN \n",
" NaN \n",
" 1402 \n",
" 14.378_582_00 \n",
" CCCXXXI Vn Portefeüilles contenant des Desseins de plusieurs Villes d'Espagne par Ant. Van-den-Wingarde. dont il n'y a pas de Catalogue. n. 990. \n",
" Vn Portefeüilles contenant des Desseins de plusieurs Villes d'Espagne par Ant Van-den-Wingarde dont il n'y a pas de Catalogue n 990 \n",
" [] \n",
" \n",
" \n",
" 9399 \n",
" 14.378 \n",
" 582 \n",
" Imaginum Delineatarum Collectio \n",
" NaN \n",
" NaN \n",
" 1402 \n",
" 14.378_582_01 \n",
" CCCXXXII Vn Recueil des Portraits peints en miniature sur velain au nombre de 34. dont le Premier est celuy de Philippe le Hardy. n. CCIV. \n",
" Vn Recueil des Portraits peints en miniature sur velain au nombre de 34 dont le Premier est celuy de Philippe le Hardy n CCIV \n",
" [] \n",
" \n",
" \n",
" 9400 \n",
" 14.378 \n",
" 582 \n",
" Imaginum Delineatarum Collectio \n",
" NaN \n",
" NaN \n",
" 1402 \n",
" 14.378_582_02 \n",
" CCCXXXIII Dix Vol. de Plantes peintes en miniature par Nicol. Robert. vide. Hist. Plantarum \n",
" Dix Vol de Plantes peintes en miniature par Nicol Robert vide Hist Plantarum \n",
" [] \n",
" \n",
" \n",
" 9401 \n",
" 14.378 \n",
" 582 \n",
" Imaginum Delineatarum Collectio \n",
" NaN \n",
" NaN \n",
" 1402 \n",
" 14.378_582_03 \n",
" CCCXXXIV Cinq Vol. d'Oiseaux peints en Miniature par Nic. Robert. vide. Histor. Animalium. \n",
" Cinq Vol d'Oiseaux peints en Miniature par Nic Robert vide Histor Animalium \n",
" [] \n",
" \n",
" \n",
" 9402 \n",
" 14.378 \n",
" 582 \n",
" Imaginum Delineatarum Collectio \n",
" NaN \n",
" NaN \n",
" 1402 \n",
" 14.378_582_04 \n",
" CCCXXXV Divers Portraits, Ceremonies, Marches &c. des Turcs & d'autres nations du Levant, peints en miniature n. CCLXX. \n",
" Divers Portraits Ceremonies Marches &c des Turcs & d'autres nations du Levant peints en miniature n CCLXX \n",
" [] \n",
" \n",
" \n",
"
\n",
"
1324 rows × 10 columns
\n",
"
"
],
"text/plain": [
" volume page number category \n",
"5 14.376 25 Theologia \\\n",
"17 14.376 27 Theologia \n",
"21 14.376 27 Theologia \n",
"22 14.376 27 Theologia \n",
"24 14.376 27 Theologia \n",
"... ... ... ... \n",
"9398 14.378 582 Imaginum Delineatarum Collectio \n",
"9399 14.378 582 Imaginum Delineatarum Collectio \n",
"9400 14.378 582 Imaginum Delineatarum Collectio \n",
"9401 14.378 582 Imaginum Delineatarum Collectio \n",
"9402 14.378 582 Imaginum Delineatarum Collectio \n",
"\n",
" subcategory format handwritten page number \n",
"5 Textus & Versiones Sacræ Scripturæ Folio 1 \\\n",
"17 Textus & Versiones Sacræ Scripturæ Folio 3 \n",
"21 Textus & Versiones Sacræ Scripturæ Folio 3 \n",
"22 Textus & Versiones Sacræ Scripturæ Folio 3 \n",
"24 Textus & Versiones Sacræ Scripturæ Folio 3 \n",
"... ... ... ... \n",
"9398 NaN NaN 1402 \n",
"9399 NaN NaN 1402 \n",
"9400 NaN NaN 1402 \n",
"9401 NaN NaN 1402 \n",
"9402 NaN NaN 1402 \n",
"\n",
" entry_ID \n",
"5 14.376_025_05 \\\n",
"17 14.376_027_02 \n",
"21 14.376_027_06 \n",
"22 14.376_027_07 \n",
"24 14.376_027_09 \n",
"... ... \n",
"9398 14.378_582_00 \n",
"9399 14.378_582_01 \n",
"9400 14.378_582_02 \n",
"9401 14.378_582_03 \n",
"9402 14.378_582_04 \n",
"\n",
" entry \n",
"5 6 Biblia Sacra Latina cum glossa & Comment. 4 Vol. chartâ Magnâ. Editio perantiqua sine loco & II.O.1. anno n. 2086. \\\n",
"17 18 La S.e Bible historiée dite d'Escholatre avec des fig. gravées en bois. 2 Vol. sans datte. Barthel. Verard. n. 165. \n",
"21 22 Biblia Sacra germanicè Mss. in Membranis cum figuris pictis. n. II. \n",
"22 23 Biblia Sacra Hollandicé Mss. in Membranis cum fig. pictis. 2 Vol. n. III. \n",
"24 25 Historia Veteris ac Novi Testamenti MS. in Membranis cum innumeris ferè Imaginibus miniatè depictis. n. 1. \n",
"... ... \n",
"9398 CCCXXXI Vn Portefeüilles contenant des Desseins de plusieurs Villes d'Espagne par Ant. Van-den-Wingarde. dont il n'y a pas de Catalogue. n. 990. \n",
"9399 CCCXXXII Vn Recueil des Portraits peints en miniature sur velain au nombre de 34. dont le Premier est celuy de Philippe le Hardy. n. CCIV. \n",
"9400 CCCXXXIII Dix Vol. de Plantes peintes en miniature par Nicol. Robert. vide. Hist. Plantarum \n",
"9401 CCCXXXIV Cinq Vol. d'Oiseaux peints en Miniature par Nic. Robert. vide. Histor. Animalium. \n",
"9402 CCCXXXV Divers Portraits, Ceremonies, Marches &c. des Turcs & d'autres nations du Levant, peints en miniature n. CCLXX. \n",
"\n",
" cleaned entry \n",
"5 Biblia Sacra Latina cum glossa & Comment 4 Vol charta Magna Editio perantiqua sine loco & IIO1 anno n 2086 \\\n",
"17 La Se Bible historiee dite d'Escholatre avec des fig gravees en bois 2 Vol sans datte Barthel Verard n 165 \n",
"21 Biblia Sacra germanice Mss in Membranis cum figuris pictis n II \n",
"22 Biblia Sacra Hollandice Mss in Membranis cum fig pictis 2 Vol n III \n",
"24 Historia Veteris ac Novi Testamenti MS in Membranis cum innumeris fere Imaginibus miniate depictis n 1 \n",
"... ... \n",
"9398 Vn Portefeüilles contenant des Desseins de plusieurs Villes d'Espagne par Ant Van-den-Wingarde dont il n'y a pas de Catalogue n 990 \n",
"9399 Vn Recueil des Portraits peints en miniature sur velain au nombre de 34 dont le Premier est celuy de Philippe le Hardy n CCIV \n",
"9400 Dix Vol de Plantes peintes en miniature par Nicol Robert vide Hist Plantarum \n",
"9401 Cinq Vol d'Oiseaux peints en Miniature par Nic Robert vide Histor Animalium \n",
"9402 Divers Portraits Ceremonies Marches &c des Turcs & d'autres nations du Levant peints en miniature n CCLXX \n",
"\n",
" years \n",
"5 [] \n",
"17 [] \n",
"21 [] \n",
"22 [] \n",
"24 [] \n",
"... ... \n",
"9398 [] \n",
"9399 [] \n",
"9400 [] \n",
"9401 [] \n",
"9402 [] \n",
"\n",
"[1324 rows x 10 columns]"
]
},
"execution_count": 527,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"without_years"
]
},
{
"cell_type": "code",
"execution_count": 530,
"id": "1bacd9fd-af4a-4f50-b0bc-10a4a5af1ee8",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"before_1501.to_excel('data/man_catalog/Vor 1501.xlsx')"
]
},
{
"cell_type": "code",
"execution_count": 531,
"id": "dbd5e8bc-a4a0-46f7-b0ca-8fe84de50e19",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"without_years.to_excel('data/man_catalog/Ohne Jahresangabe.xlsx')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e0c65ab2-9951-4cab-a859-55b7d5427d57",
"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.10.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}