Я пытаюсь заполнить словарь из pandas кадра данных, используя понимание списка. Моя проблема в том, что мне нужно добавить данные в существующие ключи вместо того, чтобы перезаписывать их.
def Load_Dataframes(cursor):
negativeitems = Load_NegativeOnhand(cursor)
materiallog = Load_Materiallog(cursor)
negativetrans = Join_Dataframes(negativeitems, materiallog)
datadict = {}
datadict = {row[0]:Calculate_Transaction_History(row, datadict) for row in negativetrans[['item-no', 'tran-date', 'tran-time',
'on-hand', 'quantity', 'whse',
'order-no']].values}
def Calculate_Transaction_History(row, datadict):
if not row[0] in datadict.keys():
data = Shortage_Data.ShortageData()
data.addrow(row)
else:
data = datadict[row[0]].addtransactions(row)
return data
Это заполняет словарь, но параметр datadict является пустым словарем, поэтому оператор if бесполезен. Можно ли сделать это, используя понимание списка, или я должен просто использовать itertuples ()?
начальный фрейм данных:
item-no on-hand quantity
item1 -10 2
item1 -10 4
item1 -10 10
item2 -5 1
item2 -5 1
item3 -3 2
конец цели словарь с ключом: item-no value: class object
keys data.on-hand data.quantity
item1 -10 16
item2 -5 2
item3 -3 2
Группировка здесь не будет работать, она работает в этом примере, но не в том, что я полностью пытаюсь выполнить sh.