我正在使用pandas在python上处理汽车销售数据: 汽车 梅赛德斯,奥迪,宝马,大众,梅赛德斯,宝马
类型 轿车,跨界车,其他,货车,其他,SUV
现在,我想将“ Other”的类型替换为:当car = Mercedes时,键入= Sedan,当car = BMW时,然后键入= SUV,依此类推。 我正在努力做到这一点。需要协助。
答案 0 :(得分:2)
body
列中添加了具有“其他”的行:import pandas as pd
import numpy as np
cars = [['Ford',15500.0,'crossover',68,2.5,'Gas','yes',2010,'Kuga','full'],
['Mercedes-Benz',20500.0,'sedan',173,1.8,'Gas','yes',2011,'E-Class','rear'],
['Mercedes-Benz',20500.0,"Other",173,1.8,'Gas','yes',2011,'E-Class','rear'],
['Ford',15500.0,"Other",68,2.5,'Gas','yes',2010,'Kuga','full']]
car_sales = pd.DataFrame(cars, columns=['car','price','body','mileage','engV','engType','registration','year','model','drive'])
car_sales["body"].replace("Other", np.nan, inplace=True)
car_types = {"Mercedes-Benz":"sedan", "Ford":"crossover"}
car_sales["body"].fillna(car_sales["car"].map(car_types), inplace=True)
答案 1 :(得分:1)
创建一个以car作为键并输入值的字典
d = {'Mercedes' : 'Sedan', 'BMW' : 'SUV'}
现在使用map将列映射到值,
df.loc[df['Type'] == 'Other', 'Car'].map(d)
提供数据框示例以获得更完整的答案