Pandas und NumPy sind wichtige Bibliotheke in Python für die Datenanalyse. Schauen wir uns genauer an, wie wir das Beste aus ihnen herausholen können!

 

Pandas

Pandas ist eine sehr beliebte Bibliothek zur Datenmanipulation und Datenanalyse. DataFrames sind wie Tabellen oder Spreadsheets mit indizierten Zeilen und Spalten strukturiert und ermöglichen flexible Datenoperationen.

Ein Pandas DataFrame kann leicht tranformiert und manipuliert werden. Es bietet leistungsstarke Funktionen  zur Behandlung fehlender Daten, Zur Durchführung von Operationen auf Spalten und Zeilen und zur Transformation von Daten. Darüber hinaus haben viele SQL-Funktionen Entsprechungen in Pandas, wie z.B join, merge, filter, und groupby. Diese Funktionen machen Pandas für Datenwissenschaftler (Data Scientists) unverzichtbar.

 

NumPy

NumPy ist eine Open-Source Python Bibliothek, die effiziente numberische Operationen auf großen Datensätzen ermöglicht. Sie bildet die Grundlage für Pandas, das bedeutet, dass Pandas für seine Operationen auf NumPy angewiesen ist.

 

Installation

Um NumPy und Pandas mit Anaconda zu installieren, führen Sie aus:

conda install numpy pandas

Um mit pip zu installieren, führen Sie aus:

pip install numpy pandas

Nach der Installation importieren Sie diese Bibliotheken in Ihre Python environment (wir empfehlen Jupyter NoteBook)

import numpy as np
import pandas as pd

 

NumPy Arrays

NumPy-Arrays sind flexibler als regulär Python-Listen. Sie werden ndarrays gennant, weil sie mehrere Dimensionen haben können. Diese Arrays enthalten Elemente eines Datentyps und können entweder one-dimensional (vectors) oder multi-dimensional (matrices) sein, was einen schnellen zugriff und eine effiziente Datenmanipulation ermöglichet.

So erstellen Sie ein one-dimensional ndarray aus einer Liste:

list1 = [1, 2, 3, 4]
array1 = np.array(list1)
print(array1)

Output:

>>> [1 2 3 4]

 

 

So erstellen Sie ein two-dimensional ndarray:

list2 = [[1, 2, 3], [4, 5, 6]]
array2 = np.array(list2)
print(array2)

Output:

>>> [[1 2 3]
     [4 5 6]]

 

NumPy-Arrays unterstützen zahlreiche Operationen wie das Auswählen von Elementen (selecting elements), Das Zerschneiden (slicing), Umformen (reshaping), Spaltung (splitting), Kombinieren von Arrays (combining arrays) und das Ausführen numerischer Operationen (Min, Max, Mean, usw.) Hier sind Beispile für diese Operationen:

  • Auswählen von Array Elementen (Selecting array elements):
print(array1[1])
>>> Output: 2

 

  • Zerschneiden von Arrays (Slicing arrays):
print(array2[:, 1])
>>> Output: [2 5]

 

  • Umformen von Arrays (Reshaping arrays):
array3 = array1.reshape((2, 2))
print(array3)
>>> Output: [[1 2]
             [3 4]]

Praktisches Beispiel 1: Verdoppelung der Bestandsmengen

Angenommen, Sie müssen die Bestandsmengen aller Elementen in Ihrem Geschäft verdoppeln. Mit einem NumPy-Arrays, das die aktuellen Bestandsmengen darstellt, können Sie diese Operation leicht durchführen:

current_inventory = np.array([10, 20, 15, 8])
doubled_inventory = current_inventory * 2
print(doubled_inventory)

Output:

>>> [20 40 30 16]

 

Praktisches Beispiel 2: Berechnung des Gesamtumsatzes aus Verkäufen

Stellen Sie sich vor, Sie möchten den Gesamtumsatzes aus dem Verkauf verschiedener Mengen von Elementen zu unterschiedlichen Preisen berechnen. Mit den Mengen und Preisen, die in NumPy-Arrays gespeichert sind, können Sie den Gesamtumsatzes effizient berechnen:

quantities_sold = np.array([3, 5, 2, 8])
item_prices = np.array([10, 15, 7, 6])
total_revenue = quantities_sold * item_prices

# Druckt die Gesamtumsatzes für jedes Element mit dem Euro-Symbol
total_revenue_with_currency = [f"€{value}" for value in total_revenue]
print(f"Total revenue per item: {total_revenue_with_currency}")

# Um die Gesamtumsatzes für alle Elementen zu ermitteln, können Sie das Array summieren
total_revenue_sum = np.sum(total_revenue)
print(f"Total revenue: €{total_revenue_sum}")

Output:

>>> Total revenue per item: ['€30', '€75', '€14', '€48']
>>> Total revenue: €167

Pandas Series und DataFrames

Das Series object ist für Pandas von grundlegender Bedeutung, ähnlich wie ein one-dimensional NumPy array, aber mit zusätzlichen Funktionen wie beschrifteten Indizes. Um beispielsweise das Alter von Schülern anhand ihres Namens zu speichern und darauf zuzugreifen:

ages = np.array([26, 20, 13])
series1 = pd.Series(ages, index=['Nima', 'Hanie', 'Tina'])
print(series1)

Output:

>>> Nima    26
    Hanie   20
    Tina    13
    dtype: int64

 

DataFrames, ein weiteres wichtiges Pandas Objekt, ähnlich wir Matrizen mit Zeilen und Spalten. Sie erlauben unterschiedliche Datentypen in jeder Spalte, erfordern jedoch Einheitlichkeit innerhalb der Spalten. Im Folgenden wird beschrieben, wie man einen DataFrame aus einer Liste von Listen erstellt:

data = [
    ['Nima Saadati', 'Hauptstraße 15, Berlin', 26],
    ['Hanie Mazinani', 'Bahnhofstraße 23, Munich', 20],
    ['Mahya Bahmani', 'Königsallee 45, Düsseldorf', 30]
]
df = pd.DataFrame(data, columns=['Name', 'Address', 'Age'])
print(df)

Output:

>>>               Name                   Address  Age
     0    Nima Saadati   Hauptstraße 15, Berlin   26
     1  Hanie Mazinani  Bahnhofstraße 23, Munich  20
     2  Mahya Bahmani  Königsallee 45, Düsseldorf 30

 

So legen Sie eine Spalte als DataFrame index fest:

df.set_index('Name', inplace=True)
print(df)

Output:

>>>           Name                   Address  Age
     Nima Saadati   Hauptstraße 15, Berlin   26
     Hanie Mazinani  Bahnhofstraße 23, Munich  20
     Mahya Bahmani  Königsallee 45, Düsseldorf 30

 

 

DataFrames machen die Auswahl (Selection), Manipulation und Zusammenfassung von Daten intuitiv und effizient und erschließen leistungsstarke Datenanalysefunktionen.

Die Beherrschung von Pandas und NumPy wird Ihre Fähigkeite zur Datenanalyse erheblich verbessern und Ihre Arbeit effizienter und effektiver machen. verwenden Sie diese Tools, um die Daten einfacher zu untersuchen und zu manipulieren!

Mastering pandas and NumPy will significantly enhance your data analysis skills, making your work more efficient and effective. Embrace these tools to explore and manipulate data with ease!