Я работал над вопросом, который просит меня выполнить несколько операций с использованием split-apply-Объединить.
Я получил ответы на большинство из них, кроме последнего вопроса.
Вот последний вопрос:
Если максимальная цена в категории превышает 3 доллара, уменьшите все цены в этой категории на 10%. Вернуть серию нового ценового столбца.
import pandas as pd
import numpy as np
grocery = pd.DataFrame({'category':['produce', 'produce', 'meat',
'meat', 'meat', 'cheese', 'cheese'],
'item':['celery', 'apple', 'ham', 'turkey', 'lamb',
'cheddar', 'brie'],
'price':[.99, .49, 1.89, 4.34, 9.50, 6.25, 8.0]})
grouped = grocery.groupby('category')
answer = grouped.transform(lambda x: 0.9 * x if np.max(x) > 3 else x)
Мне кажется, я получил часть снижения всех цен в категории на 10%.
Однако у меня возникла проблема с тем, как я могу вернуть свой «ответ» в виде серии нового столбца цен.
Когда я отправляю то, что у меня есть ('ответ'), на страницу отправки, значения цены верны, но это не считается серией. Я знаю pd.Series, но не уверен, как я могу преобразовать это в Series здесь.
Может ли кто-нибудь дать мне понимание?