Не в состоянии сделать класс в Python и вывести его, чтобы преуспеть - PullRequest
0 голосов
/ 20 ноября 2018

Я довольно новичок в Python и работаю в должности управления запасами.Одна важная вещь в управлении запасами - это расчет страхового запаса.

Итак, это то, чего я пытаюсь достичь.

Я импортировал файл с 3 столбцами;FR, sigma и LT для 3 рядов.См. Ниже код и выходные данные:

код:

import pandas as pd
df = pd.read_excel("Desktop\\TestPython4.xlsx")
xcol=["FR","sigma","LT"]
x=df[xcol].values

выход: снимок

Для расчета страхового запаса у меня есть следующее(упрощенная) формула этого;

CDF(FR)*sigma*sqrt(LT)

, где CDF - это кумулятивная функция распределения нормального распределения, а FR - это число от 0 до 1 (таким образом, общеизвестное значение z равновывод).

Я хочу вывести файл с дополнительным столбцом, который отображает страховой запас.Для этого я сделал класс safetystock со следующим кодом:

class Safetystock:
def __init__(self,FR,sigma,LT):
    self.FR = FR
    self.sigma = sigma
    self.LT = LT
    pass

def calculate():
    SS=st.norm.ppf(FR)
    return print(SS*sigma*np.sqrt(LT))
    pass

Затем я сделал переменную: "output"

Output = Safetystock(df.FR,df.sigma,df.LT)

Я сказал, что данные в файле нужныбыть принятым во внимание.Затем я добавил в df столбец с именем output, который должен содержать переменную «Вывод»:

df["output"]=Output

Теперь, когда я хочу вызвать df, он дает мне следующее:

фактический выход

Что я делаю не так?

Ура,

Стивен

1 Ответ

0 голосов
/ 20 ноября 2018

А как же

import pandas as pd
import numpy as np
import scipy.stats as st

df = pd.read_excel("Desktop\\TestPython4.xlsx")
df["output"] = st.norm.ppf(df.FR)*df.sigma*np.sqrt(df.LT)
...