gpt4 book ai didi

python - 赋值前引用的局部变量 'df'

转载 作者:行者123 更新时间:2023-12-04 17:32:10 26 4
gpt4 key购买 nike

我不知道如何处理这个练习。

“您可以使用此模板获取 DJIA 成员调整后的收盘价。

首先,您应该在线下载 DJIA 成员列表。然后读入成员,在main函数中写一个for循环,获取需要的数据。

提示,在 get_EOD_data 函数中使用‘tickers’参数”

import requests
import pandas as pd
from pandas.compat import StringIO
import numpy as np
import datetime as dt
from dateutil.relativedelta import relativedelta

def get_EOD_data(api_token='5cb671b0b4a790.35526238', session = None, tickers = 'AXP', start_date = dt.datetime(2018,1,1), end_date = dt.datetime(2018,12,31)):
symbols = tickers
if session is None:
session = requests.Session()


url = 'https://eodhistoricaldata.com/api/eod/%s.US'
params = {"api_token": api_token, "from": start_date, "to": end_date}
r = session.get(url, params = params)
if r.status_code == requests.codes.ok:

# Use the parameters index_col and usecols to control which columns you want to scrape
df = pd.read_csv(StringIO(r.text), skipfooter = 1, parse_dates = [0], engine = 'python', na_values=['nan'])

df.fillna(method = 'ffill', inplace = True)
df.fillna(method = 'bfill', inplace = True)
return df

def main():
# Add parameters of the function get_EOD_data to control the data you want to scrape
df_data = get_EOD_data()
print(df_data)

if __name__ == '__main__':
main()
Traceback (most recent call last):
File "/Users/katewang/Desktop/Test/scrape_data.py", line 32, in <module>
main()
File "/Users/katewang/Desktop/Test/scrape_data.py", line 28, in main
df_data = get_EOD_data()
File "/Users/katewang/Desktop/Test/scrape_data.py", line 22, in get_EOD_data
df.fillna(method = 'ffill', inplace = True)
UnboundLocalError: local variable 'df' referenced before assignment

最佳答案

在此部分中

. . . . 

if r.status_code == requests.codes.ok:

# Use the parameters index_col and usecols to control which columns you want to scrape
df = pd.read_csv(StringIO(r.text), skipfooter = 1, parse_dates = [0], engine = 'python', na_values=['nan'])

df.fillna(method = 'ffill', inplace = True)
. . .

你会注意到变量 df 的赋值是在一个条件语句中,它可能评估 false 因为 r.status_coderequests.codes.ok 不等价

关于python - 赋值前引用的局部变量 'df',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58703137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com