Ändern Sie die Beschriftung im Datenrahmen pro Bedingung

import pandas as pd
data = pd.DataFrame({
    'first_name': ['John', 'John', 'Jane', 'Jane', 'Jane','Marry', 'Victoria', 'Gabriel', 'John'],
    'id': [1, 1, 2, 2, 2, 3, 4, 5, 1],
    'age': [30, 30, 25, 25, 25, 30, 45, 15, 30],
    'group': [0, 0, 0, 0, 0, 0, 0, 0, 0],
    'product_type': [1, 1, 2, 1, 2, 1, 2, 1, 2],
    'quantity': [10, 15, 10, 10, 15, 30, 30, 10, 10]
})
data['agemore'] = (data['age'] > 20)

group_val = 0

for id in data['id'].unique():
    age_param = list(set([age_bool for age_bool in data.loc[data['id'] == id, 'agemore']]))
    # Product type removed as per latest requirements
    # product_type_param = list(set([prod_type for prod_type in data.loc[data['id'] == id, 'product_type']]))
    quantity_param = list(set([qty for qty in data.loc[data['id'] == id, 'quantity']]))
            
    if data.loc[(data['id'] == id)
                & (data['group']==0), :].shape[0] > 0:
        group_val += 1

    data.loc[(data['group'] == 0)
         & (data['agemore'].isin(age_param))
         # Product_type removed as per latest requirements
         # & (data['product_type'].isin(product_type_param))
         & (data['quantity'].isin(quantity_param)), 'group'] = group_val
Relieved Rook