gpt4 book ai didi

python - 如何使用 datestr2num 而不是 strpdate2num

转载 作者:行者123 更新时间:2023-12-04 02:45:17 25 4
gpt4 key购买 nike

strpdate2num 类在 Matplotlib 3.1 中已弃用,将在 3.3 中删除。请改用 time.strptime 或 dateutil.parser.parse 或 datestr2num。但是我尝试了不同的方法并且一直出错,最常见的错误消息是 ValueError: ('Unknown string format:', '%Y-%m-%d')

我尝试过 time.strptime、dateutil.parser.parse 和 datestr2num,但没有一个是正确的,我不知道我哪里错了

import matplotlib.pyplot as plt
import numpy as np
import urllib.request
import matplotlib.dates as mdates

def bytespdate2num(fmt, encoding='utf-8'):
strconverter = mdates.datestr2num(fmt)
def bytesconverter(b):
s = b.decode(encoding)
return strconverter(s)
return bytesconverter


def graph_data(stock):
# Unfortunately, Yahoo's API is no longer available
# feel free to adapt the code to another source, or use this drop-in replacement.
stock_price_url = 'https://pythonprogramming.net/yahoo_finance_replacement'
source_code = urllib.request.urlopen(stock_price_url).read().decode()
stock_data = []
split_source = source_code.split('\n')
for line in split_source[1:]:
split_line = line.split(',')
if len(split_line) == 7:
if 'values' not in line and 'labels' not in line:
stock_data.append(line)

date, closep, highp, lowp, openp, adj_closep, volume = np.loadtxt( stock_data,
delimiter=',',
unpack=True,
# %Y = full year. 2015
# %y = partial year 15
# %m = number month
# %d = number day
# %H = hours
# %M = minutes
# %S = seconds
# 12-06-2014
# %m-%d-%Y
converters={0: bytespdate2num('%Y-%m-%d')})

plt.plot_date(date, closep,'-', label='Price')

plt.xlabel('Date')
plt.ylabel('Price')
plt.title('Interesting Graph\nCheck it out')
plt.legend()
plt.show()


graph_data('TSLA')

ValueError: ('未知字符串格式:', '%Y-%m-%d')

最佳答案

您的日期格式似乎很常见,所以 strconverter = mdates.datestr2num 应该可以工作(没有 fmt 参数)。当然在这种情况下,完整的转换器可以简化为

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

并像使用它

converters={0: bytespdate2num}

关于python - 如何使用 datestr2num 而不是 strpdate2num,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57418300/

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