【发布时间】:2020-11-14 15:46:27
【问题描述】:
我有一个股票数据字典,如下所示:
{'_id': ObjectId('5ed25b3a4893efeab4cef4b3'),
'time': 1286699400000.0,
'open': 1128.0,
'high': 1128.0,
'low': 1128.0,
'close': 1128.0,
'volume': 100}
并尝试使用以下代码将其转换为数据列表/数组,但它仅适用于 1 项字典。我不知道如何遍历字典?
def dict_to_array(data):
training_set1 = []
training_set1.append(data["open"])
training_set1.append(data["high"])
training_set1.append(data["low"])
training_set1.append(data["close"])
training_set1.append(data["volume"])
training_set1 = np.array(training_set1).T
return training_set1
编辑:我喜欢 training_set1 作为结果:
[[o1, h1, l1, c1, v1],
[o2, h2, l2, c2, v2],
...
[on, hn, ln, cn, vn]]
EDIT2:我在我的代码中添加了 data = data.values(),如下所示:
def dict_to_array(data):
data = data.values()
training_set1 = []
training_set1.append(data["open"])
training_set1.append(data["high"])
training_set1.append(data["low"])
training_set1.append(data["close"])
training_set1.append(data["volume"])
training_set1 = np.array(training_set1).T
return training_set1
但我收到以下错误:
TypeError: 'dict_values' object is not subscriptable
【问题讨论】:
-
print(list(data.values()))为您提供 dict 的所有值(转换为列表)。这就是你要找的吗? -
您可以使用
dict.values()获取值,使用dict.items()获取键值对。
标签: python arrays list dictionary type-conversion