Вы должны попробовать использовать панд groupby . Он группирует данные информационного кадра по значениям столбца и позволяет работать с этими группами. Это должно работать быстрее.
import pandas as pd
sales_product = pd.DataFrame({'Sales Ord Id': [1, 2, 1, 2, 1, 2, 1, 2, 1, 2],
'Prod ID': [11, 12, 13, 14, 15, 16, 17, 18, 19, 10]})
groupby = sales_product.groupby('Sales Ord Id')
data = dict([(x, list(d['Prod ID'])) for x, d in groupby])
print(data)
# prints {1: [11, 13, 15, 17, 19], 2: [12, 14, 16, 18, 10]}