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
#4
Hi Yoriz, thank you for the help as it led me to review and see what was wrong. Just for anyone to see the final solution, this is the full working script:
import numpy as np
import pandas as pd
from yahoofinancials import YahooFinancials

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

def ExpMovingAverage(values, window):
    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__":
    price = get_curprice()
    dF = pd.DataFrame(stockdata())
    data = dict(dF)
    for index, val in data.items():
        ema_val = ExpMovingAverage(val, 1)
        print("Exp. moving average based on open and current price is ", ema_val[-1:], index) 
The output, as expected, is:
Exp. moving average based on open and current price is [205.53] AAPL
Exp. moving average based on open and current price is [138.09] MSFT
Exp. moving average based on open and current price is [231.35] TSLA
It is important to note that in
weights = np.exp(np.linspace(-1., 0., window))
'window' refers to the number of data points to be averaged, in my example i'm using the 'open' and 'current' prices hence i use 'window = 1' since the index starts at 0. Not taking this into account will result in a thrown error such as
Error:
Traceback (most recent call last): File "C:\Users\bgeor\Desktop\multiEMAs.py", line 24, in <module> ema_val = ExpMovingAverage(val, 3) File "C:\Users\...\Desktop\multiEMAs.py", line 17, in ExpMovingAverage a[:window] = a[window] IndexError: index 3 is out of bounds for axis 0 with size 2
Reply


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

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