У меня есть следующий DataFrame:
Item Weight Bags Must quantity must quantity bags column length assigned bag
0 planes bag 8.50 planes v 1 1 6 None
1 Full Bandolera 3.76 planes v 3 2 6 None
2 tail 0.30 planes 0 3 2 6 None
3 central wing 1.08 planes 0 3 2 6 None
4 engine 0.44 planes 0 3 2 6 None
5 height steer 0.12 planes 0 3 2 6 None
6 dihedral 0.40 planes 0 3 2 6 None
7 pods bag 8.72 pods v 1 1 4 None
8 Pod 1.74 pods v 3 2 4 None
9 optic 0.86 pods v 2 2 4 None
Мне нужно назначить строку назначенной сумке из следующих ключей dict:
bags = {'planes bag': 6,
'pods bag': 4,
'ground system bag': 13}
Пока у меня есть функция, которая фильтрует строки, соответствующие моему условию, заполняются:
bags_lens = list(bags.values())
df['assigned bag'] = df[(df['Must'] != 0) & (df['bags column length'].isin(bags_lens))]
print(df)
Эта функция проверяет, проверена ли необходимость, и соответствует ли длина пакетов сумм любому из значений в сумках dict.
если строка соответствует обоим условиям, мне нужно, чтобы она была назначена столбцу назначенного мешка.
Имеется в виду, например, мешок с рядами плоскостей и полный Bandolera должен назначить слово «мешок с плоскостями» назначенному столбцу пакета.
Чтобы уточнить мой желаемый результат. Если бы это было возможно, я бы что-то вроде этого:
df['assigned bag'] =df['Bags'] if df[(df['Must'] != 0) & (df['bags column length'].isin(bags_lens))]