首页 > 解决方案 > Python:IndexError:列表分配索引超出范围 - 日期转换?

问题描述

三天前我是Python新手,所以请理解!

我尝试的代码如下。我正在尝试从 Yahoo 导入 DAX 价格数据并使用它,但我无法克服以下错误,我认为这与日期转换有关?

非常感谢任何帮助。

谢谢!

> Traceback (most recent call last):
  File "C:\Users\Temp\Pandas_read_import_to_Numpy.py", line 25, in <module>
    date, highp, lowp, openp, closep, volume, adj_closep = np.loadtxt(stock_data,
  File "C:\Python\Python38-32\lib\site-packages\numpy\lib\npyio.py", line 1134, in loadtxt
    converters[i] = functools.partial(tobytes_first, conv=conv)
IndexError: list assignment index out of range

代码

import numpy as np
import matplotlib.dates as mdates
from pandas_datareader import data

def bytespdatestr2num(b):
    return mdates.datestr2num(b.decode('utf-8'))

# Set the start and end date
start_date = '2019-11-01' 
end_date = '2019-11-27'

# Set the ticker
ticker = '^GDAXI'
# Get the data
stock_data = []
stock_data = data.get_data_yahoo(ticker, start_date, end_date)
stock_data.reset_index(inplace=True)

print(stock_data.tail(20))
for col in stock_data.columns: 
    print(col) 

date, highp, lowp, openp, closep, volume, adj_closep = np.loadtxt(stock_data,
                                                    delimiter=',',
                                                    unpack=True,
                                                    skiprows=0,
                                                    converters={1: bytespdatestr2num})

x = 0
y = len(date)
stock_data_v2 = []
while x < y:
    appendLine = date[x],highp[x],lowp[x],openp[x],closep[x],volume[x]
    stock_data_v2.append(appendLine)
    x+=1

print(stock_data_v2)

标签: pythonpandasnumpydate

解决方案


推荐阅读