В моих файлах один столбец, содержащий разные оценки (название столбцов = 'Оценки).
Например: 91 50K, 92 60K, DIESEL, ADBlU и т. Д.
Для всех этих оценок Iнужно классифицировать их по нескольким классам;
например : 91 50K= Petrol
В моем питоне, как я могу это сделать? Обратите внимание, что я могу передать весь столбец функции. но функция должна переписать значение каждой строки с правильным;
def checkgrades(data):
df['Grades']=???
???
В соответствии с приведенными ниже ответами я пытаюсь;
df_dips=map_dips_grades(df_dips)
df_sales = df_sales.merge(df_dips, left_on=['Site Name', 'Date','GradeNo'],
right_on=['Site', 'Dip Time', 'Product'], how='left').fillna(0)
def map_dips_grades(data):
d1 = {'Diesel': ['DIESEL', 'DIESEL 1'],
'Unleaded': ['91','91 UNLEADED'],
'PULP':['95','95 ULP'],
'PULP98':['98','98 20K'],
'Vortex Diesel':['DIESEL ULT R'],
'Adblue':['ADBLU','ADO']}
d = {k: oldk for oldk, oldv in d1.items() for k in oldv}
data['Product'].map(d)
return data
Но я получаю;
ValueError: You are trying to merge on int64 and object columns. If you wish to proceed you should use pd.concat