У меня есть датафрейм.Имеются данные о поставщиках.Если имя поставщика и группы совпадают, в идеале количество единиц должно быть одинаковым.Однако иногда это не так.Я пишу код, который импортирует данные из SQL в Python, а затем сравнивает эти числа.
Это для Python 3. Импортировать данные в Python было легко.Я новичок Python.Чтобы упростить для себя задачу, я создал отдельные кадры данных для каждого поставщика, чтобы сравнивать цифры, а не смотреть на весь кадр данных сразу.
supp = data['Supplier']
supplier = []
for s in supp:
if s not in Supplier:
supplier.append(s)
su = "Authentic Brands Group LLC"
deal = defaultdict(list)
blist = []
glist = []
columns = ['Supplier','ID','Units','Grp']
df3 = pd.DataFrame(columns=columns)
def add_row(df3, row):
df3.loc[-1] = row
df3.index = df3.index + 1
return df3.sort_index()
for row in data.itertuples():
for x in supplier:
s1 = row.Supplier
if s1 == su:
if row.Supplier_Group not in glist:
glist.append(row.Supplier_Group)
for g in range(len(glist)):
if glist[g]==row.Supplier_Group:
supp = x
blist=[]
blist.append(row.ID)
blist.append(row.Units)
blist.append(glist[g])
add_row(df3,[b1,row.ID,row.Units,glist[g]])
break
break
break
for i in range(1,len(df3)):
if df3.Supplier.loc[i] == df3.Supplier.loc[i-1] and df3.Grp.loc[i] == df3.Grp.loc[i-1]:
print(df3.Supplier,df3.Grp)
Это дает мне небольшое подмножество, которое выглядит следующим образом:

Теперь я хочу посмотреть на имя поставщика и Grp, если они совпадают с другими в кадре данных, единицы должны быть одинаковыми.В этом случае строка 2 неверна.Единиц должно быть 100. Я хочу добавить еще один столбец к этому фрейму данных, который говорит «Ложь», если число единиц правильное.Это сложная часть для меня.Я могу перемещаться по строкам, но не уверен, как их сравнить и добавить столбец.
Я застрял в этой точке.Любая помощь высоко ценится.Спасибо.