I can't understand whats wrong with my code

Screen Link:
https://app.dataquest.io/m/467/communicating-results/8/results-and-impact

My Code:

criteria = ["price_criterion", "genre_criterion", "category_criterion"]
affordable_apps["Result"] = affordable_apps[criteria].mode(axis='columns')

affordable_apps[cheap,'New Price'] = affordable_apps['Price'].apply(
    lambda x: round(max(x,cheap_mean),2))

affordable_apps[reasonable,'New Price'] = affordable_apps['Price'].apply(
    lambda x: round(max(x,reasonable_mean),2))                                

affordable_apps["Installs"] = affordable_apps["Installs"].str.replace("[+,]", "").astype(int)
                                                                         
affordable_apps['Impact'] = (affordable_apps['New Price']-affordable_apps['Price'])*affordable_apps['Installs']
                                                                         
total_impact = affordable_apps['Impact'].sum()
print(total_impact)

What actually happened:

Error :'Series' objects are mutable, thus they cannot be hashed

I cant understand whats wrong in my code. And why the error is there

cheap is a Pandas Series. You can’t index the rows of affordable_apps by using a Series and also try to create/modify a column with the above format.

One option is to use .loc here instead. If you are unsure of how to do use it, then check the label_genres function in the previous Mission Step.

if we use .loc what does it mean here ?
like affordable_apps.loc[cheap,‘new price’] what it means literally?