У меня есть фрейм данных примерно так (обратите внимание, OrderNumber - это вычисляемое поле для количества уникальных заказов, которые имеет идентификатор клиента)
data = [[1, 1, 'Jacket'], [1, 2, 'T-Shirt'], [1, 3, 'Jumper'], [2, 1, 'T-Shirt'], [2, 2, 'Jacket']]
CustomerID OrderNumber Category
0 1 1 Jacket
1 1 2 T-Shirt
2 1 3 Jumper
3 2 1 T-Shirt
4 2 2 Jacket
Я хочу только фильтровать или маскировать и показывать только те идентификаторы клиентов, которые выполнили условие по первому заказу.
Допустим, их первый заказ должен быть из категории Куртки. Что-то вроде:
df = df[(df["Category"] == 'Jacket') & (df["OrderNumber"] == 1)]
Этот код, очевидно, теперь только будет показывать те строки, которые соответствуют этим условиям, поэтому я вижу только одну строку.
Я хотел бы видеть три строки, по одной для каждого OrderNumber клиента с CustomerID = 1, при этом второй клиент игнорируется, как если бы у них есть куртка в заказе, это когда OrderNumber = 2.
Я немного озадачен как подойти к этой проблеме. Любая помощь приветствуется.