{"id":193582,"date":"2024-04-09T09:28:35","date_gmt":"2024-04-09T08:28:35","guid":{"rendered":"https:\/\/liora.io\/de\/?p=193582"},"modified":"2026-02-06T05:57:33","modified_gmt":"2026-02-06T04:57:33","slug":"pandas-best-practices-die-deine-arbeitsweise-veraendern-werden","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/pandas-best-practices-die-deine-arbeitsweise-veraendern-werden","title":{"rendered":"Pandas Best Practices, die deine Arbeitsweise ver\u00e4ndern werden"},"content":{"rendered":"<style>\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h2>Mit seinen zahlreichen Funktionen zur Verarbeitung der Daten, mit denen wir arbeiten, hat sich Pandas als unverzichtbares Werkzeug f\u00fcr Data Scientists und Data Analysts etabliert &#8211; hier einige Pandas Best Practices:<\/h2>\t\t\n\t\t<p>In diesem Artikel wirst du einige eher unbekannte Pandas Best Practices sehen, die deine Arbeitsweise ver\u00e4ndern k\u00f6nnen.<\/p>\t\t\n\t\t\t<h3>1. Eine Legende zu einem Dataframe hinzuf\u00fcgen<\/h3>\t\t\n\t\t<p>\u00c4hnlich wie bei Grafiken, die mit Matplotlib oder Seaborn angezeigt werden, ist es m\u00f6glich, durch eine Codezeile eine Legende zu einem Dataframe hinzuzuf\u00fcgen, wenn dieser angezeigt wird.<\/p><p>Wir beginnen damit, die ben\u00f6tigten Bibliotheken zu importieren:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>import pandas as pd\nimport numpy as np<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Als N\u00e4chstes erstellen wir einen Dataframe mit zuf\u00e4lligen Daten :<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>df = pd.DataFrame({'Age': np.random.randint(20, 80, size=5),\n                   'Taille': np.random.randint(150, 190, size=5),\n                   'Poids': np.random.randint(50, 100, size=5),\n                   'Salaire': np.random.randint(1000, 4000, size=5)})<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Schlie\u00dflich f\u00fcgst du mit der Funktion set_caption() die Legende zum Dataframe hinzu:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>legende = \"Ceci est une l\u00e9gende\"\ndf.style.set_caption(legende)<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t\t<style>\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2024\/03\/image4-1.png\" title=\"\" alt=\"\" loading=\"lazy\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\">Lernen, wie man eine Legende zu einem Dataframe hinzuf\u00fcgt<\/a><\/div><\/div>\n\n\t\t\t<h3>2. Einen Fortschrittsbalken hinzuf\u00fcgen<\/h3>\t\t\n\t\t<p>Wenn du die Daten in deinem Dataframe verarbeitest, kann dies eine Weile dauern und du m\u00f6chtest vielleicht den Fortschritt verfolgen. Um dies zu erreichen, kannst du einen Fortschrittsbalken anzeigen lassen, der sich mit dem Prozentsatz der abgeschlossenen Verarbeitung \u00e4ndert.<\/p><p>Beginnen wir damit, die ben\u00f6tigten Bibliotheken zu importieren:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>import pandas as pd\nimport time\nfrom tqdm.notebook import tqdm<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Wir initialisieren die Funktion tqdm, mit der wir den Fortschrittsbalken auf dem Notebook anzeigen k\u00f6nnen:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>tqdm.pandas()<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Als N\u00e4chstes erstellen wir einen Dataframe mit zuf\u00e4lligen Daten :<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>df = pd.DataFrame({'Age': np.random.randint(20, 80, size=5),\n                   'Taille': np.random.randint(150, 190, size=5),\n                   'Poids': np.random.randint(50, 100, size=5),\n                   'Salaire': np.random.randint(1000, 4000, size=5)})<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Du erstellst eine Funktion, die simuliert, dass die Verarbeitung eines Dataframes 0,5 Sekunden pro Zeile dauern w\u00fcrde:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>def process_row(row):\n    tqdm.pandas(desc=\"Traitement en cours\")\n    time.sleep(0.5)<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Du wendest die Verarbeitung auf den Datenframe an, w\u00e4hrend du den Fortschrittsbalken anzeigst:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>df.progress_apply(process_row, axis=1)<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Wir zeigen eine Nachricht an, wenn die Verarbeitung abgeschlossen ist:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>print(\"Traitement du DataFrame termin\u00e9.\")<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2024\/03\/image1-1.png\" title=\"\" alt=\"\" loading=\"lazy\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\">Lerne, wie man den Fortschrittsbalken benutzt<\/a><\/div><\/div>\n\n\t\t\t<h3>3. \u00c4ndere die Formatierung unseres Dataframes<\/h3>\t\t\n\t\t<p>Bei der Anzeige unseres<strong> Dataframes<\/strong> ist es m\u00f6glich, Farben hinzuzuf\u00fcgen, die Anzahl der angezeigten Dezimalstellen festzulegen oder die den verschiedenen Spalten zugeordneten Einheiten hinzuzuf\u00fcgen. Hierzu k\u00f6nnen wir die Funktion style.format() von Pandas verwenden.<\/p><p>Wie zuvor importieren wir die ben\u00f6tigten Bibliotheken und erstellen den Datenframe, der verwendet werden soll:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>import pandas as pd\nimport numpy as np\ndf = pd.DataFrame({'Age': np.random.randint(20, 80, size=10),\n                   'Taille': np.random.randint(1500, 1900, size=10)\/1000,\n                   'Poids': np.random.randint(5000, 10000, size=10)\/100,\n                   'Salaire': np.random.randint(100000, 400000, size=10)\/100})<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Wir zeigen den Dataframe an, um die Standardansicht zu sehen :<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>df<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Wir zeigen den Dataframe an, um die Standardansicht zu sehen :<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>df.style.format({\"Age\": \"{} ans\",\n                 \"Taille\": \"{:.2f} cm\",\n                 \"Poids\": \"{:.1f} kgs\",\n                 \"Salaire\":\"{:,.2f}\u20ac\"})\n                 .background_gradient()<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Lass uns die verschiedenen Elemente dieser Bestellung aufschl\u00fcsseln:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>\"Salaire\":\"{:,.2f}\u20ac\"<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>.2 gibt an, dass zwei Dezimalstellen beibehalten werden sollen.<\/p><p>f bedeutet, dass du eine Flie\u00dfkommazahl (float) zur\u00fcckgeben m\u00f6chtest.<\/p><p>Das Komma nach dem Doppelpunkt bedeutet, dass man die Tausender durch Kommas trennen m\u00f6chte.<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>background_gradient()<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Hiermit kannst du die K\u00e4stchen der verschiedenen Spalten mit einem Farbverlauf einf\u00e4rben, wobei die h\u00f6chsten Werte die dunkelsten Farben haben.<\/p><p>Es ergibt sich folgendes Bild:<\/p>\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2024\/03\/image2-1.png\" title=\"\" alt=\"\" loading=\"lazy\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\">Die Formatierung eines Dataframes \u00e4ndern<\/a><\/div><\/div>\n\n\t\t\t<h3>3. \u00c4ndere die Formatierung unseres Dataframes<\/h3>\t\t\n\t\t<p>Bei der Anzeige unseres Dataframes ist es m\u00f6glich, Farben hinzuzuf\u00fcgen, die Anzahl der angezeigten Dezimalstellen festzulegen oder die den verschiedenen Spalten zugeordneten Einheiten hinzuzuf\u00fcgen. Hierzu k\u00f6nnen wir die Funktion style.format() von Pandas verwenden.<\/p><p>Wie zuvor importieren wir die ben\u00f6tigten Bibliotheken und erstellen den Datenframe, der verwendet werden soll:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>import pandas as pd\nimport numpy as np\ndf = pd.DataFrame({'Age': np.random.randint(20, 80, size=10),\n                   'Taille': np.random.randint(1500, 1900, size=10)\/1000,\n                   'Poids': np.random.randint(5000, 10000, size=10)\/100,\n                   'Salaire': np.random.randint(100000, 400000, size=10)\/100})<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Wir zeigen den Dataframe an, um die Standardansicht zu sehen :<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>df<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Wir wenden nun eine Formatierung auf die Daten an:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>df.style.format({\"Age\": \"{} ans\",\n                 \"Taille\": \"{:.2f} cm\",\n                 \"Poids\": \"{:.1f} kgs\",\n                 \"Salaire\":\"{:,.2f}\u20ac\"})\n                 .background_gradient()<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Lass uns die verschiedenen Elemente dieser Bestellung aufschl\u00fcsseln:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>\"Salaire\":\"{:,.2f}\u20ac\"<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t.2 bedeutet, dass zwei Dezimalstellen beibehalten werden sollen..\nf gibt an, dass eine Flie\u00dfkommazahl (float) zur\u00fcckgegeben werden soll..\nDas Komma nach dem Doppelpunkt bedeutet, dass die Tausender durch Kommas getrennt werden sollen..\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>background_gradient()<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Hiermit kannst du die K\u00e4stchen der verschiedenen Spalten mit einem Farbverlauf einf\u00e4rben, wobei die h\u00f6chsten Werte die dunkelsten Farben haben.<\/p><p>Es ergibt sich folgendes Bild:<\/p>\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2024\/03\/image2-1.png\" title=\"\" alt=\"\" loading=\"lazy\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\">Die Formatierung eines Dataframes \u00e4ndern k\u00f6nnen<\/a><\/div><\/div>\n\n\t\t\t<h3>5. Kurven in einem Dataframe anzeigen<\/h3>\t\t\n\t\t<p>Es ist m\u00f6glich, Kurven in einen Dataframe einzuf\u00fcgen.<\/p><p>Wir importieren die notwendigen Bibliotheken :<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nfrom base64 import b64encode\nfrom io import BytesIO\nfrom IPython.display import HTML<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Dann f\u00fcgen wir die folgende Zeile ein, damit Matplotlib Grafiken im Codefluss anzeigen kann:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>%matplotlib inline<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Anschlie\u00dfend wird ein Dataframe mit zuf\u00e4lligen Daten erstellt:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>data = [('Euro', np.random.randint(40000, size=100)),\n        ('Dollar', np.random.randint(5000, size=100)),\n        ('Yen', np.random.randint(15000, size=100))]\ndf = pd.DataFrame(data, columns=['Devise', 'Cours'])<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Als N\u00e4chstes werden wir eine Funktion definieren, um die Kurven zu erstellen, die wir anzeigen wollen:<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp># Wir konvertieren den Dataframe in eine Liste.\n    data = list(data)\n    # Wir erstellen den Graphen mit einer bestimmten Gr\u00f6\u00dfe.\n    fig, ax = plt.subplots(1, 1, figsize=(5, 1))\n    # Wir zeigen die Daten an\n    ax.plot(data)\n    # Wir schlie\u00dfen die Grafik, damit sie nicht au\u00dferhalb der gew\u00fcnschten Stellen angezeigt wird.\n    plt.close(fig)\n    # Wir speichern das Bild als png und speichern seine Bin\u00e4rdaten.\n    img = BytesIO()\n    fig.savefig(img, format='png')\n    encoded = b64encode(img.getvalue()).decode('utf-8')\n    # Wir geben das Bild codiert in HTML zur\u00fcck.\n    return '<img decoding=\"async\" src=\"data:image\/png;base64,{}\"\/>'.format(encoded)<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<p>Schlie\u00dflich zeigen wir den Dataframe mit den Kurven :<\/p>\t\t\n\t\t\t<pre data-line=\"\">\t\t\t\t<code readonly=\"true\">\n\t\t\t\t\t<xmp>df['Courbe du cours'] = df['Cours'].apply(create_line)\nHTML(df.drop(columns = ['Cours']).to_html(escape=False))<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/2024\/03\/image3-1.png\" title=\"\" alt=\"\" loading=\"lazy\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t<p>Mit den verschiedenen <strong>Pandas Best Practices<\/strong>, die in diesem Artikel vorgestellt werden, kannst du Informationen in deine Dataframes einf\u00fcgen und so mehr relevante Daten herausholen, wenn du sie pr\u00e4sentieren musst!<\/p><p>Wenn du <strong>Data Frames<\/strong> von A bis Z beherrschen m\u00f6chtest, schau dir unsere Ausbildung zum Data Scientist an!<\/p>\t\t\n\t\t\t\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/weiterbildung-data-scientist\">Entdecke unsere Data Scientist-Ausbildung<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Mit seinen zahlreichen Funktionen zur Verarbeitung der Daten, mit denen wir arbeiten, hat sich Pandas als unverzichtbares Werkzeug f\u00fcr Data Scientists und Data Analysts etabliert &#8211; hier einige Pandas Best Practices: In diesem Artikel wirst du einige eher unbekannte Pandas Best Practices sehen, die deine Arbeitsweise ver\u00e4ndern k\u00f6nnen. 1. Eine Legende zu einem Dataframe hinzuf\u00fcgen [&hellip;]<\/p>\n","protected":false},"author":76,"featured_media":193584,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2472],"class_list":["post-193582","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ki"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/193582","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/76"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=193582"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/193582\/revisions"}],"predecessor-version":[{"id":216921,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/193582\/revisions\/216921"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/193584"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=193582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=193582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}