我有一个数据框

vehicle_make    vehicle_model   vehicle_year
Toyota  Corolla 2016
Hyundai Sonata  2016
Cadillac    DTS 2006
Toyota  Prius   2014
Kia Optima  2015


我想添加一个新列“ vehicle_make_category”,该列基于我拥有的列表进行填充

luxury=['Bentley',
'Maserati',
'Hummer',
'Porsche',
'Lexus']

non_luxury=['Saab',
'Mazda',
'Dodge',
'Volkswagen',
'Kia',
'Chevrolet',
'Hyundai',
'Ford',
'Nissan',
'Honda',
'Toyota'
]


如何做到这一点?我尝试使用

df['vehicle_make_category']=np.where(df['vehicle_make']=i for i in luxury, 'luxury')


但它不起作用...

最佳答案

只是

df["vehicle_make_category"] = None
df.loc[df["vehicle_make"].isin(luxury), "vehicle_make_category"] = "luxury"
df.loc[df["vehicle_make"].isin(non_luxury), "vehicle_make_category"] = "non_luxury"

10-06 05:19