вы можете сделать это с помощью группы, как показано ниже
df = pd.DataFrame([['Macintosh', 'Apple', '4123'], ['Gala', 'Apple', '4356'], ['Navel', 'Oranges', '5897'], ['Cara Cara', 'Oranges', '5324'], ['Red Delicious', 'Apple', '4896'], ['Cavendish', 'Banana', '7895']], columns=('Product', 'Category', 'SKU'))
result = df.groupby("Category")["SKU"].apply(list).str.join(";")
, если вы хотите ограничить результат категориями в таблице данных инвентаризации, вы можете использовать слияние, как показано ниже
df_inventory.merge(df, on="Category")