2024-05-21 00:31:09 发布
网友
我正在使用pandas在python上处理汽车销售数据: 汽车奔驰、奥迪、宝马、大众、奔驰、宝马
车型轿车、跨界车、其他、厢式车、其他、SUV
现在我想把类型中的“Other”替换为:when car=Mercedes,type=Sedan,when car=BMW,type=SUV等等。 我正在努力完成这件事。需要帮助。你知道吗
创建一个以car为键,type为值的字典
d = {'Mercedes' : 'Sedan', 'BMW' : 'SUV'}
现在使用map将列映射到值
df.loc[df['Type'] == 'Other', 'Car'].map(d)
提供您的数据帧的一个更完整的答案样本
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)
创建一个以car为键,type为值的字典
现在使用map将列映射到值
提供您的数据帧的一个更完整的答案样本
编辑:根据您提供的示例数据更新答案
设置-注意我在
body
列中添加了带有“Other”的行:步骤1-将“Other”值替换为NaN(这允许您使用fillna函数):
第2步-为每种车型创建值的字典映射,然后使用fillna填充值:
相关问题 更多 >
编程相关推荐