【发布时间】:2017-04-12 16:38:29
【问题描述】:
我有一个名为“r2.csv”的示例 csv 文件:
Factory | Product_Number | Date | mu | cs | co
--------------------------------------------------------------
A | 1 | 01APR2017 | 5.6 | 125 | 275
--------------------------------------------------------------
A | 1 | 02APR2017 | 4.5 | 200 | 300
--------------------------------------------------------------
A | 1 | 03APR2017 | 6.6 | 150 | 250
--------------------------------------------------------------
A | 1 | 04APR2017 | 7.5 | 175 | 325
--------------------------------------------------------------
我想再添加一列名称为'Order_Number'。具有以下功能
Order_Number = np.ceil(poisson.ppf(co/(cs+co), mu))
我有以下代码:
import numpy as np
from scipy.stats import poisson, norm
import csv
# Read Data
with open('r2.csv', 'r') as infile:
reader = csv.DictReader(infile)
data = {}
for row in reader:
for header, value in row.items():
try:
data[header].append(value)
except KeyError:
data[header] = [value]
# To create a list for the following parameters
mu = data['mu']
cs = data['cs']
co = data['co']
# Obtain Order_Number
Order_Number = np.ceil(poisson.ppf(co/(cs+co), mu))
在获取“Order_Number”之前,它工作正常。和'Order_Number'函数它有以下错误: TypeError: 不支持的操作数类型 /: 'list' 和 'list'
如何更改我的代码以获得下表作为输出:
Factory | Product_Number | Date | mu | cs | co | Order_Number
----------------------------------------------------------------------
A | 1 | 01APR2017 | 5.6 | 125 | 275 | ?
----------------------------------------------------------------------
A | 1 | 02APR2017 | 4.5 | 200 | 300 | ?
----------------------------------------------------------------------
A | 1 | 03APR2017 | 6.6 | 150 | 250 | ?
----------------------------------------------------------------------
A | 1 | 04APR2017 | 7.5 | 175 | 325 | ?
----------------------------------------------------------------------
【问题讨论】:
-
我不确定您是否有能力在当前环境中安装软件包,但如果可以的话,您真的应该考虑安装
pandas。这将使这种类型的数据操作变得相当简单。一般来说,您可能会喜欢pydata 提供的套件套件 -
谢谢! @tipanverella我目前正在使用Anaconda Navigator,并且可以安装'pandas'。但是,作为建议,实际生产水平可能没有“熊猫”包,我必须考虑目前是否可以正常使用。