У меня есть DF, в котором я анализирую общую стоимость клиента. Я нахожу общую цену, уплаченную клиентом путем суммирования скидки (поскольку это уже отрицательное число) от продажной стоимости продукта.
transaction_df_clean['customer_price'] = transaction_df_clean['sales_value'] + transaction_df_clean['coupon_disc']
Следовательно, некоторые итоговые цены являются отрицательными, и я хочу изменить их на 0, чтобы избежать отрицательных чисел.
Ввод:
transaction_df_clean.loc[transaction_df_clean['customer_price'] < 0].head(10)
Вывод (отображается 1 строка):
index household_key basket_id day product_id quantity sales_value store_id retail_disc trans_time week_no coupon_disc coupon_match_disc customer_price
----------
13895 988 27282152470 25 1088634 2 1.00 408 -0.98 2353 4 -1.49 0.00 -0.49
Однако при попытке изменить отрицательные значения на 0 в столбцах «customer_price» изменяются другие столбцы, которые не являются целевыми. на 0 тоже.
Ввод:
transaction_df_clean.loc[transaction_df_clean['customer_price'] < 0] = 0
transaction_df_clean.loc[transaction_df_clean['customer_price'] == 0].head(20)
Ввод:
index household_key basket_id day product_id quantity sales_value store_id retail_disc trans_time week_no coupon_disc coupon_match_disc customer_price
----------
13895 0 0 0 0 0 0.00 0 0.00 0 0 0.00 0.00 0.0
Есть идеи, почему это может происходить?