如何使用Python返回平均值减去列表中的每个整数?

时间:2020-07-24 08:33:02

标签: python-3.x list line mean stock

我有两个股票(IBM和MSFT)的样本股票价格列表。在找到两只股票的平均股价之后,我想找到两只股票的平均调整后股价。这是通过将各自的股价减去平均股价来完成的。

然后,要找到最合适的线,我需要找到一种计算方法(找到m):

均值调整后的股价IBM = m *均值调整后的股价MSFT

但是,我还停留在返回这两只股票的平均调整后股价清单上。

import statistics

def get_best_fit_line(price_IBM, price_MSFT, averagePrice_IBM, averagePrice_MSFT):

    mean_adjusted_IBM = []
    mean_adjusted_MSFT = []
    
    for number in price_IBM:
        mean_adjusted_IBM.append(number - averagePrice_IBM)
        
    return mean_adjusted_IBM
        
    for number2 in price_MSFT:
        mean_adjusted_MSFT.append(number2 - averagePrice_MSFT)
        
    return mean_adjusted_MSFT

price_IBM = [132.45, 130.85, 130.00, 129.55, 130.85, 129.48, 130.51, 130.23, 132.31, 131.78]
averagePrice_IBM = statistics.mean(price_IBM)
    
price_MSFT = [30.95, 30.96, 30.77, 30.45, 30.66, 30.27, 30.07, 30.35, 30.96, 30.86]
averagePrice_MSFT = statistics.mean(price_MSFT)

IBM, MSFT = get_best_fit_line(price_IBM, price_MSFT, averagePrice_IBM, averagePrice_MSFT)


print('The mean adjusted stock price for IBM is ', IBM)
print('The mean adjusted stock price for MSFT is ', MSFT)

请帮助!

1 个答案:

答案 0 :(得分:0)

首先,创建一个对号码列表求平均值的函数

   def average(lst): 
        return sum(lst) / len(lst) 

函数,将平均值减去列表中的每个数字

def get_append_avg(price_list, average_val):
  mean_adjusted=[]
  for number in price_IBM:
          mean_adjusted.append(number - average_val)
  return mean_adjusted

按如下所示调用每个定义

IBM=get_append_avg(average(price_IBM))
MSFT=get_append_avg(average(averagePrice_MSFT ))
相关问题