Sobes.tech
Intern

**Python-Aufgaben** Ein Pandas DataFrame mit Daten aus orders_log heißt df. 1) Filtern Sie die Zeilen: Status "processing" und Umsatz (revenue) > 50000 und Priorität "high". Geben Sie das Ergebnis aus. 2) Erstellen Sie eine Spalte 'revenue_group' nach den Regeln: ‘Small’ (< 50000), ‘Medium’ (50000 <= revenue < 90000), ‘Large’ (>= 90000). Dann zählen Sie die Anzahl der Bestellungen in jeder Gruppe nach Kategorien (Category) und geben das Ergebnis aus. 1) df[(df["state"] == "processing") & (df["revenue"] > 50000) & (df["priority"] == "high")] 2)

sobes.tech KI

Antwort von AI

  1. Um eine Spalte revenue_group zu erstellen, kannst du die Funktion pd.cut oder np.select verwenden. Dann gruppiere die Daten nach Kategorien und zähle die Anzahl der Bestellungen:
import numpy as np

conditions = [
    df['revenue'] < 50000,
    (df['revenue'] >= 50000) & (df['revenue'] < 90000),
    df['revenue'] >= 90000
]
choices = ['Small', 'Medium', 'Large']
df['revenue_group'] = np.select(conditions, choices)

# Zähle die Anzahl der Bestellungen in jeder Gruppe nach Kategorie
result = df.groupby(['Category', 'revenue_group']).size().reset_index(name='order_count')
print(result)

Dieses Skript erstellt eine neue Spalte mit Gruppen basierend auf dem Umsatz und gibt eine Tabelle mit der Anzahl der Bestellungen für jede Kategorie und Umsatzgruppe aus.