【发布时间】:2025-12-06 12:25:01
【问题描述】:
我在输出到 Python 中的 csv 文件时遇到问题:
代码如下:
import numpy as np
import scipy.stats as stats
from scipy.stats import poisson, norm
# Read the csv file and obtain corresponding parameter mu, cs and co.
import csv
with open('r1.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print row
mu = row[0]
cs = row[1]
co = row[2]
mu = float(mu)
cs = float(cs)
co = float(co)
# Generate a Poisson Distribution and
G = poisson(mu)
p = G.pmf(np.arange(3*mu))
# Define Z(Q) for the total cost estimation
def Z(Q):
ES = sum(i*p[i] for i in range(len(p)))
return cs*max((Q-ES), 0) + co*max((ES-Q), 0)
# Obtain Qstar
Qstar = np.ceil(poisson.ppf(co/(cs+co), mu))-1
Qstar = int(np.float64(Qstar).item())
这部分代码对我来说很好,在这个简单的例子中我得到了 Qstar = 5。如何将其输出到 csv 文件?
Order_Number
5
我有以下代码可以调用 Qstar:
with open('test.csv', 'wb') as fp:
a = csv.writer(fp, delimiter=',')
data = [['Order_Number'],['Qstar']]
a.writerows(data)
但我好像只得到了
Order_Number
Qstar
我怎样才能正确调用“Qstar”?
谢谢!
【问题讨论】:
-
去掉Qstar周围的引号,你会得到Qstar中保存的变量。