Я в отчаянии. Я решаю эту проблему уже 3 дня. Я попробовал все решения в подобных постах. Мое решение работало на других фреймах данных, но на этом не работает.
У меня есть два набора данных: один содержит товар, обычную цену и столбец группы скидок. Второй - дисконтная группа и дисконт этой группы.
Мне нужно взять товар, получить группу скидок, найти скидку и умножить ее на цену. Но в некоторых строках я получаю ошибку. Вот мой код:
for index, row in df1.iterrows():
discount_group = df1['Discount group'][index]
#this returns data frame with discount group and relevant discount
discounts_df = df2.loc[df2['Discount group'] == discount_group], 'Discount'
discount = discounts_df[0].values[0][1]
row ['Discounted price'] = row['Price'] * discount
Но в некоторых случаях discounts_df = df2.loc[df2['Discount group'] == discount_group], 'Discount'
возвращает пустой фрейм данных. Я конвертировал столбцы групп скидок в плавающие, чтобы не было несовпадения типов с df1['RG'] = df1['Discount group'].astype(float)
. Это не помогло.
Может быть, есть другое решение?
Спасибо за помощь!