Sobes.tech
Intern

**Python feladatok** Egy Pandas DataFrame az orders_log adataival, amit df-nek nevezünk. 1) Szűrje a sorokat: állapot "processing" és bevétel (revenue) > 50000 és prioritás "high". Mutassa az eredményt. 2) Hozzon létre egy 'revenue_group' oszlopot a szabályok szerint: ‘Small’ (< 50000), ‘Medium’ (50000 <= revenue < 90000), ‘Large’ (>= 90000). Ezután számolja meg a rendelések számát minden csoportban kategóriánként (Category), és mutassa az eredményt. 1) df[(df["state"] == "processing") & (df["revenue"] > 50000) & (df["priority"] == "high")] 2)

sobes.tech MI

Válasz az MI-től

  1. A revenue_group oszlop létrehozásához használhatja a pd.cut vagy np.select függvényeket. Ezután csoportosítsa az adatokat kategóriák szerint, és számolja meg a megrendelések számát:
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)

# Számolja meg a megrendelések számát minden csoportban kategóriánként
result = df.groupby(['Category', 'revenue_group']).size().reset_index(name='order_count')
print(result)

Ez a kód létrehoz egy új oszlopot a bevétel alapján csoportosított kategóriákkal, és kiír egy táblázatot a megrendelések számáról minden kategóriában és bevételi csoportban.