Рассмотрим эти 2 кадра данных:
df1 - наблюдаемые в национальном масштабе миль на галлон
state make model fuel mpg
FL honda fit diesel 43
FL honda fit gas 33
FL vw golf diesel 48
FL vw golf gas 35
FL ford fiesta diesel 40
FL ford fiesta gas 36
FL toyota corolla diesel 44
FL toyota corolla gas 38
df2 - стандарты CAFE
make model fuel mpg
honda fit diesel 43
honda fit gas 33
vw golf diesel 48
vw golf gas 35
ford fiesta diesel 40
ford fiesta gas 36
toyota corolla diesel 44
toyota corolla gas 38
nissan sentra diesel 39
nissan sentra gas 29
Я хочу создать новый столбец в df1 ['avg'], который представляет собой наблюдаемую миль на галлон, деленную на стандартную цифру CAFE для марки, модели, топлива.
Вот подход, который я пробовал грубой силой:
make_list = ['ford', 'nissan']
model_list = ['focus', 'sentra']
fuel_list = ['gas', 'diesel']
df3 = df2.loc[df2['make'].isin(make_list)]
df3 = df2.loc[df2['model'].isin(model_list)]
df3 = df2.loc[df2['fuel'].isin(fuel_list)]
goal = df3.iloc[0]['mpg']
print goal
for make in make_list:
for model in model_list:
for fuel in fuel_list:
df1['avg'] = df1['mpg'] / goal
На самом деле это нечто большее, чем это, но я собрал их вместе, чтобы продемонстрировать.- Спасибо - это мой первый пост / вопрос, так что будьте нежнее.