У меня есть 3 поля 1 :) Счет-фактура № 2 :) Номер счета-фактуры и сумма счета-фактуры 3 :). Каждый уникальный номер счета может иметь несколько дополнительных номеров счетов. Требование заключается в том, что для каждого уникального номера счета-фактуры в нескольких строках, если под номер счета-фактуры начинается с 1200 и 2100, следует ввести фиктивный столбец, который будет говорить «И 1200, и 2100 существует», иначе, если строки имеют под номер счета-фактуры. начиная с 1200, столбец-заглушка должен иметь «только 1200», иначе он должен сказать «имеет только 2100». пример приведен ниже
S.no Invoice # Invoice Sub Number Amount Dummy
----------------------------------------------
1. 1234 1230 $100 Both 2100 and 1200 exists
2. 1234 2100 $100 Both 2100 and 1200 exists
3. 1234 1200 $100 Both 2100 and 1200 exists
4. 1245 5430 $50 Only 1200 exists 1245
5. 1245 1200 $80 Only 1200 exists
Я попробовал следующую команду в Python, но она не работает, нужна помощь на том же
Используемая команда
df1= df
df1['Invoice #'] = df1['Invoice #'].astype(object)
df['Invoice sub Number'] = df['Invoice sub Number'].astype(str)
df1= df1.groupby(df['Invoice sub Number','Invoice #'].size().groupby(level=0).size())
df1['dummy']= np.where(df1['Invoice sub Number'].str.startswith ('1200'),'Contains 1200 only',
np.where(df1['Invoice sub Number'].str.startswith ('2100'),'Contains 2100 only',
np.where((df1['Invoice sub Number'].str.startswith ('1200'))&(df1['Invoice sub Number'].str.startswith ('2100')),
'Contains both 1200 and 2100','Contains neither 1200 nor 2100')))
Ошибка, которую я получаю: - KeyError: ('Invoice sub Number', 'Invoice #')