Pandas 数据框中的列

Columns in Pandas Dataframe

我有一个汽车数据框。我有它的汽车价格列,我想创建一个新的列 cars运行ge,它会根据汽车价格具有 'high'、'low' 等值。例如:

如果价格在 0 到 9000 之间,那么汽车 运行ge 应该 'low' 用于这些汽车。同样,如果价格在 9000 到 30,000 辆汽车之间,运行ge 应该为那些汽车等提供 'medium'。我尝试这样做,但我的代码正在将一个值替换为另一个值。有什么帮助吗?

我 运行 在价格列中使用 for 循环,并使用 if-else 迭代来定义我的列值。

for i in cars_data['price']:
    if (i>0 and i<9000): cars_data['carsrange']='Low'
    elif (i<9000 and i<18000): cars_data['carsrange']='Medium-Low'
    elif (i<18000 and i>27000): cars_data['carsrange']='Medium'
    elif(i>27000 and i<36000): cars_data['carsrange']='High-Medium'
    else : cars_data['carsrange']='High'

现在,当我 运行 汽车的独特功能 运行ge 时,它​​只显示 'High'。 cars_data['carsrange'].unique()

这是输出:

在[74]:cars_data['carsrange'].unique() 输出[74]:数组(['High'], dtype=object)

我想我在这里应用了错误的概念。关于我现在应该做什么有什么想法吗?

您可以使用列表:

resultList = []
for i in cars_data['price']:
    if (i>0 and i<9000): 
        resultList.append("Low")
    else:
        resultList.append("HIGH")
        # write other conditions here

cars_data["carsrange"] = resultList

然后从 cars_data["carsrange"]

中找到唯一值