У меня есть запас, использование и количество готовой продукции есть в данных. Мои вопросы: у меня есть параметр, называемый обязательным параметром готовой продукции, который должен быть ограничен Это данные, которые я взял:
Material Finished Goods BOM# No. of FG can be Produced Stock Usage
100110960 100100750 4634 5 10.0 2
100110960 100100920 4645 5 10.0 2
100110960 100100970 4655 5 10 2
100110960 100100980 4655 5 10 2
100110960 100100979 4655 5 10 2
Таким образом, вы можете видеть в данных, что у меня готовая продукция равна 5, поэтому мне нужен мой параметр до 5, не более того (нужен некоторый предел), как также, когда я даю свой параметр как 3 на основе запаса и использования, он должен показать, что fg может быть получено как 3, а для второго fg - 2, а для третьего - 0.
Если я даю параметр как 2, он должен показать, что fg может быть произведено как 2, а для второго fg - 3, а для третьего - 0
Это код, который я пытался запустить:
import pandas as pd
import math
#import numpy as np
import json
data = pd.read_excel('D:/Notsaved/naiduv/trial.xlsx')
data = data.to_json(orient='records')
data = json.loads(data)
params = 3
update = []
for i in range(len(data)):
update_dict = {}
flag = None
for j in range(len(update)):
if update[j]['Material'] == data[i]['Material']:
flag = j
if flag != None:
update_dict['Material'] = data[i]['Material']
update_dict['Usage'] = data[i]['Usage']
update_dict['Stock'] = data[i]['Stock']
update_dict['BOM#'] = data[i]['BOM#']
#update_dict['Proc Type'] = data[i]['Proc Type']
#update_dict['Availability Stock'] = update[flag]['Availability Stock']
#update_dict['No. of FG can be Produced'] = int(update_dict['Availability Stock']/update_dict['Usage'])
update_dict['Availability Stock'] = int(update[flag]['Availability Stock'] - update_dict['Usage'])
update_dict['No. of FG can be Produced'] = int(update_dict['Availability Stock']/update_dict['Usage'])
if update_dict['No. of FG can be Produced']<=0 :
update_dict['No. of FG can be Produced']=0
else:
update_dict['No. of FG can be Produced']
# update_dict['No. of FG can be Produced'] = np.where(update_dict['No. of FG can be Produced']<0, 0, update_dict['No. of FG can be Produced'])
#update_dict['No. of FG can be Produced'][update_dict['No. of FG can be Produced'] < 0] = 0
#update_dict['No. of FG can be Produced'] = map(lambda x: max(x,0),update_dict['No. of FG can be Produced'])
update_dict['Finished Goods'] = data[i]['Finished Goods']
else:
update_dict['Material'] = data[i]['Material']
update_dict['Usage'] = data[i]['Usage'] * (params)
update_dict['Stock'] = data[i]['Stock']
update_dict['BOM#'] = data[i]['BOM#']
#update_dict['Proc Type'] = data[i]['Proc Type']
update_dict['Availability Stock'] = update_dict['Stock'] - update_dict['Usage']
update_dict['No. of FG can be Produced'] = params
update_dict['Finished Goods'] = data[i]['Finished Goods']
update.append(update_dict)
print(update)}