【发布时间】:2020-02-01 01:06:09
【问题描述】:
谁能帮帮我:
我创建了一个循环来附加来自 Coinbase 的历史价格数据的连续间隔。
我的循环成功迭代了几次然后崩溃。
错误信息(在 data_temp 代码行下):
“ValueError:如果使用所有标量值,则必须传递一个索引”
days = 10
end = datetime.now().replace(microsecond=0)
start = end - timedelta(days=days)
data_price = pd.DataFrame()
for i in range(1,50):
print(start)
print(end)
data_temp = pd.DataFrame(public_client.get_product_historic_rates(product_id='BTC-USD', granularity=3600, start=start, end=end))
data_price = data_price.append(data_temp)
end = start
start = end - timedelta(days=days)
很想知道如何解决这个问题以及为什么会发生这种情况。
谢谢!
这是完整的跟踪:
Traceback(最近一次调用最后一次): 文件“\coinbase_bot.py”,第 46 行,在 data_temp = pd.DataFrame(public_client.get_product_historic_rates(product_id='BTC-USD', 粒度=3600, start=start, end=end)) init 中的文件“D:\Program Files\Python37\lib\site-packages\pandas\core\frame.py”,第 411 行 mgr = init_dict(数据、索引、列、dtype=dtype) 文件“D:\Program Files\Python37\lib\site-packages\pandas\core\internals\construction.py”,第 257 行,在 init_dict return arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype) 文件“D:\Program Files\Python37\lib\site-packages\pandas\core\internals\construction.py”,第 77 行,位于 arrays_to_mgr index = extract_index(数组) 文件“D:\Program Files\Python37\lib\site-packages\pandas\core\internals\construction.py”,第 358 行,在 extract_index raise ValueError("如果使用所有标量值,则必须传递一个索引") ValueError: 如果使用所有标量值,则必须传递索引
这是通过简单的 url 调用返回的 json:
[[1454716800,370.05,384.54,384.44,375.44,6276.66473729],[1454630400,382.99,389.36,387.99,384.5,7443.92933224],[1454544000,368.74,390.63,368.87,387.99,8887.7572324],[1454457600,365.63 ,373.01,372.93,368.87,7147.95657328],[1454371200,371.17,374.41,371.33,372.93,6856.21815799],[1454284800,366.26,379,367.89,371.33,7931.22922922],[1454198400,365,382.5,378.46,367.95,5506.77681302]]
与此用户的问题非常相似,但无法解决: When attempting to merge multiple dataframes, how to resolve "ValueError: If using all scalar values, you must pass an index"
【问题讨论】:
-
您好,请添加一些示例数据和该错误的完整跟踪
-
使用从 url 调用获得的完整错误跟踪和示例 json 数据更新了帖子。我正在使用一个包装 url 调用的 python 库。
标签: python-3.x pandas dataframe append