我正在尝试定义一个函数,该函数获取股票代码列表,并使用来自yahoo finance的正确数据为每个代码创建一个数据帧。你知道吗
首先,函数采用*arg。你知道吗
一旦传递了一个ticker/一组ticker,函数就在列表中循环。你知道吗
对于每个ticker,该函数调用一个数据读取器并获取特定ticker上的数据。你知道吗
该数据存储在名为“df”+str(ticker)的数据帧中
我有:
import pandas_datareader as pdr
import pandas as pd
def Finance1(*args):
for arg in args:
df = pdr.get_data_yahoo(arg)
global df'arg'
df'arg' = df
x = "IBM"
y = "XOM"
list = [x, y]
Finance1(*list)
似乎无法在循环中动态创建以自动取款机atm命名的数据帧/也无法动态创建本地变量。提前谢谢。你知道吗
下面的Off注释进行了更改,但仍然没有得到所需的输出。你知道吗
import pandas_datareader as pdr
import pandas as pd
dict1 = {}
def Finance1(*args):
for arg in args:
df = pdr.get_data_yahoo(arg)
dict1[arg] = df
return dict1
x = "IBM"
y = "XOM"
list = [x, y]
Finance1(*list)
第二次编辑
import pandas_datareader as pdr
import pandas as pd
def Finance1(*args):
dict1 = {}
for arg in args:
df = pdr.get_data_yahoo(arg)
return dict1
dict1[arg] = df
x = "IBM"
y = "XOM"
list1 = [x, y]
results = Finance1(*list)
最终和现在工作:
import pandas_datareader as pdr
import pandas as pd
def Finance1(*args):
dict1 = {}
for arg in args:
df = pdr.get_data_yahoo(arg)
dict1[arg] = df
return dict1
x = "IBM"
y = "XOM"
list1 = [x, y]
results = Finance1(*list1)
目前没有回答
相关问题 更多 >
编程相关推荐