我正在研究一个班级的价格加权指数,虽然这是一个非常简单的手工计算,但我觉得这对我的新手蟒蛇技能来说是个好习惯。
修改 所以这是我现在正在使用的代码
StockBPrice = np.array([35.1, 45.6, 41.5, 47.8])
StockCPrice = np.array([52, 67.6, 61.5, 67.7])
StockDPrice = np.array([89.5, 107.4, 53.7, 64.4])
QuantityB = np.array([300,300,300,300])
QuantityC = np.array([400,400,400,400])
QuantityD = np.array([100,100,200,200])
PriceArray = []
for i in range(0,1):
if np.argwhere(StockBPrice) < 2:
PriceArray.append((StockBPrice+StockCPrice+StockDPrice)/3)
else:
d = (StockBPrice[2]+StockCPrice[2]+StockDPrice[2])/((StockBPrice[1]+StockCPrice[1]+StockDPrice[1])/float(3.0))
PriceArray.append((StockBPrice+StockCPrice+StockDPrice)/d)
PriceArray = np.array(PriceArray)
print PriceArray
我想将索引用作条件,但是np.argwhere
给出了一个布尔值,但这是我想要使用的一般想法。
答案 0 :(得分:1)
非常简单
if len(StockBPrice) < 2:
答案 1 :(得分:0)
在您的代码中,不处理长度等于2的条件。如果你有这个条件陈述
if len(StockBPrice) < 2:
那么另一个条件应该是
if len(StockBPrice) >= 2:
但是,最好使用if else来玩代码。所以最好像这样格式化你的代码:
if len(StockBPrice) < 2:
do something
else:
do something else