Intern
**Задачи на Python** DataFrame на Pandas с данни от orders_log се нарича df. 1) Филтрирайте редовете: статус "processing" и приходи (revenue) > 50000 и приоритет "high". Покажете резултата. 2) Създайте колона 'revenue_group' според правилата: ‘Small’ (< 50000), ‘Medium’ (50000 <= revenue < 90000), ‘Large’ (>= 90000). След това пребройте броя на поръчките във всяка група по категории (Category) и покажете резултата. 1) df[(df["state"] == "processing") & (df["revenue"] > 50000) & (df["priority"] == "high")] 2)
sobes.tech AI
Отговор от AI
- За създаване на колоната
revenue_groupможете да използвате функциятаpd.cutилиnp.select. След това групирайте данните по категории и пребройте броя на поръчките:
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)
# Брой поръчки във всяка група по категории
result = df.groupby(['Category', 'revenue_group']).size().reset_index(name='order_count')
print(result)
Този код ще създаде нова колона с групи по приход и ще изведе таблица с броя на поръчките за всяка категория и група приходи.