Итерационные вычисления в python - PullRequest
0 голосов
/ 11 марта 2020

У меня есть запас, использование и количество готовой продукции есть в данных. Мои вопросы: у меня есть параметр, называемый обязательным параметром готовой продукции, который должен быть ограничен Это данные, которые я взял:

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)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...