Код: Выделить всё
df = pd.DataFrame({'id':[1,2,3,4,5,6,7,8,9,10], 'somethingElse':['a','b','c','d','e','f','g','h','i','j'], 'car_type':['honda','honda','bmw','honda','vw','vw','kia','ferrari','mercedes','honda']})
df = df.set_index(['id','somethingElse'])
Код: Выделить всё
flag = LpVariable.dicts('flag', ((id, somethingElse) for id, somethingElse in df.idnex), cat = 'Binary')
Код: Выделить всё
lpSum([(flag[i[0], i[1])]*df.loc[(i[0], i[1]), 'car_type'] for i in df.index])
В этой задаче строка либо выбирается, либо нет. Я создал флаги:
Код: Выделить всё
flag = LpVariable.dicts('flag', ((id, somethingElse) for id, somethingElse in df.idnex), cat = 'Binary')
Код: Выделить всё
lpSum([(flag[i[0], i[1])]*df.loc[(i[0], i[1]), 'car_type'] for i in df.index])
Подробнее здесь: https://stackoverflow.com/questions/788 ... -dataframe