我正在用熊猫制作python的汽车销售数据:奔驰,奥迪,宝马,大众,梅赛德斯,宝马
型轿车,交叉,其他,范,其他,SUV
现在我想把“其他”替换为:当car=,奔驰,然后是type=Sedan,当car=,宝马,然后是type=SUV,等等。我正努力把这件事做完。需要帮助。
发布于 2019-02-28 18:54:23
编辑:根据您提供的示例数据更新的答案
安装程序-注意,我在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'])步骤1-用NaN替换“其他”值(这允许您使用函数):
car_sales["body"].replace("Other", np.nan, inplace=True)步骤2-为每种汽车类型创建值的字典映射,然后使用馅to来填充值:
car_types = {"Mercedes-Benz":"sedan", "Ford":"crossover"}
car_sales["body"].fillna(car_sales["car"].map(car_types), inplace=True)发布于 2019-02-28 18:57:18
创建一个以car为键,键入为值的字典,
d = {'Mercedes' : 'Sedan', 'BMW' : 'SUV'} 现在使用map将列映射到值,
df.loc[df['Type'] == 'Other', 'Car'].map(d)提供数据的示例,以获得更完整的答案。
https://stackoverflow.com/questions/54932352
复制相似问题