我是Python的新手,正在学习zipline-trader库。我遇到了一个我不熟悉的数据结构,我想知道您是否可以帮助我访问其中的某个元素。
我在zipline-trader上运行了一个反向测试,得到了results-DataFrame,它有一个" positions“列,其中包括给定日期的投资组合头寸。
下面是该专栏内容的一个示例:
[{'sid': Equity(1576 [JPM]), 'amount': 39, 'cost_basis': 25.95397, 'last_sale_price': 25.94}, {'sid': Equity(2942 [UNH]), 'amount': 11, 'cost_basis': 86.62428999999999, 'last_sale_price': 86.58}]我不熟悉的语法是"Equity (1576 JPM)“--有人能解释一下这是什么吗?另外,你能让我知道如何访问它的"JPM"-part吗?最终,我要做的是使用锁函数访问DataFrame的单元,并生成结果"{JPM: 1576,UNH: 2942}“
谢谢!
发布于 2021-05-24 19:46:47
这是(很可能是) Equity类型的对象。如果您向我们展示的结构存储在变量data中,则可以使用以下命令获取该对象
eq = data[0]['sid']打印时的文本将来自Equity类中定义的__str__方法,因此它实际上并没有告诉我们如何访问它。您必须查阅文档。
如果您能够在交互式会话中访问该对象,则可以对其运行help命令,该命令可能包含一些有用的内容。同样,如果您向我们展示的结构存储在变量data中,那么您可以这样做:
help(data[0]['sid'])https://stackoverflow.com/questions/67671498
复制相似问题