Python Forum
Passing Values of Dictionaries to Function & Unable to Access Them
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Passing Values of Dictionaries to Function & Unable to Access Them
#1
Hello Everyone!
I need your help with the following problem. I have a list of dictionaries and try to access the value of each dictionary in the list that are then passed to a function, e.i. ExpMovingAverage, which in turn is supposed to return the calculated value (based on the function formula) and will associate that returned value with its corresponding key. For example, for AAPL would get its current and open prices and stores them in val, thus if ExpMovingAverage(val, 3)= 1.245.. then result should be{'AAPL',1.245..} and do the same for other dictionaries in my list.
This is the error message i get:
Error:
Traceback (most recent call last): File "C:/Users/.../Desktop/multiEMAs.py", line 35, in <module> ema_val = ExpMovingAverage(val, 3) NameError: name 'val' is not defined
This is my scrip:
stocks = ['AAPL', 'MSFT', 'TSLA']

def stockdata():
    yahoo_financials = YahooFinancials(stocks)
    price = yahoo_financials.get_current_price()
    Open = yahoo_financials.get_open_price()
    return price, Open

get_curprices = lambda:stockdata()[0]
#getting dataset of current prices into a dictionary
dict_curprices = {}
dict_curprices.update(get_curprices())

get_openprices  = lambda:stockdata()[1]
#getting dataset of open prices into a dictionary
dict_openprices = {}
dict_openprices.update(get_openprices())

def ExpMovingAverage(values, window):
    dataList = []
    #attempting to access only the value part of each above dictionary, e.g. get_curprices, get_openprices,...
    dataList = [get_curprices, get_openprices]
    for dic in dataList:
        for val in dic.values():
            weights = np.exp(np.linspace(-1., 0., window))
            weights /= weights.sum()
            a =  np.convolve(values, weights, mode='full')[:len(values)]
            a[:window] = a[window]
            return a

if __name__ == "__main__":
    ema_val = ExpMovingAverage(val, 3)
    print(ema_val, dic.key()) 
Reply


Messages In This Thread
Passing Values of Dictionaries to Function & Unable to Access Them - by firebird - Aug-03-2019, 03:59 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  How to access values returned from inquirer cspower 6 1,030 Dec-26-2023, 09:34 PM
Last Post: cspower
  Unable to get function to do anything... ejwjohn 8 1,059 Nov-07-2023, 08:52 AM
Last Post: ejwjohn
  Access list of dictionaries britesc 4 1,221 Jul-26-2023, 05:00 AM
Last Post: Pedroski55
  Adding values with reduce() function from the list of tuples kinimod 10 2,907 Jan-24-2023, 08:22 AM
Last Post: perfringo
  passing dictionary to the function mark588 2 1,074 Dec-19-2022, 07:28 PM
Last Post: deanhystad
  function accepts infinite parameters and returns a graph with those values edencthompson 0 924 Jun-10-2022, 03:42 PM
Last Post: edencthompson
  Help with passing values in npyscreen Extra 8 2,708 May-21-2022, 12:41 AM
Last Post: Extra
  dict class override: how access parent values? Andrey 1 1,731 Mar-06-2022, 10:49 PM
Last Post: deanhystad
  Unable to access jarfile Rakshan 2 2,758 Jul-28-2021, 11:10 AM
Last Post: Rakshan
  Function - Return multiple values tester_V 10 4,724 Jun-02-2021, 05:34 AM
Last Post: tester_V

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020