【问题标题】:Not able to make a class in Python and output it to excel无法在 Python 中创建一个类并将其输出到 excel
【发布时间】:2023-03-19 22:25:01
【问题描述】:

我是Python 的新手,在库存管理职位上工作。 库存管理中的一件重要事情是计算安全库存。

所以,这就是我想要实现的目标。

我导入了一个包含 3 列的文件; FRsigmaLT 用于 3 行。请参阅下面的代码和输出:

代码:

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

输出: snapshot

为了计算安全库存,我有以下(简化的)公式;

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 = Safetystock(df.FR,df.sigma,df.LT)

我说需要考虑文件中的数据。 然后我给df添加了一列,命名为output,需要包含变量“Output”:

df["output"]=Output

现在,当我想打电话给 df 时,它给了我这个:

actual output

我做错了什么?

干杯,

史蒂文

【问题讨论】:

  • 它的工作方式与应有的完全一样,您将 Dataframe 上的类实例保存为输出。可变输出是什么意思?顺便说一句,传递 init?是什么原因?
  • 可变输出 = 每行输出(因此 3 个输出显示基于 FR、sigma 和 LT 的安全库存)。传递 init:不记得了。但即使没有它也行不通

标签: python-3.x inventory-management


【解决方案1】:

怎么样

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)

【讨论】:

  • 但是当我想使用一个类的时候我该怎么做呢?
猜你喜欢
  • 1970-01-01
  • 2023-01-24
  • 2021-11-22
  • 2013-09-06
  • 2017-05-09
  • 2022-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多