【发布时间】:2019-11-26 13:02:06
【问题描述】:
我收到的数据包含时间戳,以及 Open、High、Low 和 Close 值。
我试图在字典中组织它,以便在每个时间戳都有一个键,其中包含相应的 Open、High、Low 和 Close 值。
到目前为止我做了什么:
我首先初始化了一个名为 newest_bar 的空字典。
然后,每次添加新柱时,我首先设置一个名为 'Timestamp' 的新键,其中将包含该新柱的时间。然后从那里运行for 循环,以在该时间戳下嵌套相应的打开、高、低和关闭值。
这是我的尝试:
def append(self, bar):
key = ['Open', 'High', 'Low', 'Close']
values = [bar.Open, bar.High, bar.Low, bar.Close]
self.newest_bar['TimeStamp'] = bar.Timestamp
for i, item in enumerate(key):
self.newest_bar['TimeStamp'][item] = values[i]
print(self.newest_bar)
但是我不断收到这个错误,这告诉我我很可能没有正确分配密钥。
TypeError: 'pywintypes.datetime' 对象不支持项目分配
数据示例:
Timestamp: 2019-07-17 10:58:00+00:00
Open: 1.8877
High: 1.8878
Low: 1.8871
Close: 1.8878
输出示例
{'TimeStamp': '2019-07-17 10:58:00+00:00'
{'Open":1.8877, 'High':1.8878, 'Low':1.8871, 'Close':1.8878}
【问题讨论】:
-
如果可能,展示您希望
newest_bar的外观。我的意思是,显示变量newest_bar的示例数据。你需要可视化你的数据应该是什么样子,然后根据它设计代码来制作所需的数据结构。 -
@DiptangsuGoswami 完成
-
我不知道该输出应该是什么意思。您打算如何将字典和时间戳分配给同一个键?你的意思是只有一本平面字典吗?
-
我正在尝试使用嵌套字典,以便每个时间戳都包含 4 个具有打开、高、低和关闭值的键,这样如果我想引用 2019-07- 的打开17 10:55 酒吧我可以做到@MadPhysicist
-
那你就倒过来了。时间戳本身应该是关键,而不是“时间戳”这个词。我会发布一个答案。
标签: python pandas dictionary nested