【发布时间】:2018-08-30 12:11:10
【问题描述】:
我有一个 df,Stock_to_buy,它告诉我们在给定日期购买哪只股票。索引列是Date。
Symbol Shares
Date
2018-01-01 AAOI 20
2018-01-03 FB 34
2018-01-05 AMZN 5
2018-01-07 SQ 25
2018-01-08 TPL 31
我创建了另一个 df,Portfolio。我想解决方案要求它是 MultiIndex,所以索引列是 Date 和 Symbol。
Shares
Date Symbol
2018-01-01 NaN NaN
2018-01-02 NaN NaN
2018-01-03 NaN NaN
2018-01-04 NaN NaN
2018-01-05 NaN NaN
2018-01-06 NaN NaN
2018-01-07 NaN NaN
2018-01-08 NaN NaN
我想根据Stock_to_buy 更新Portfolio:如果符号在给定日期位于Stock_to_buy 中,则应在该日期将其作为一行添加到Portfolio,并应保留在那里在后续日期直到 Sell_Next_Day 变为 True,在这种情况下,应从后续日期中删除 Symbol 的行。下面是一个示例,我希望 Portfolio 如何工作。
Shares Sell_Next_Day
Date Symbol
2017-12-31 NaN NaN NaN
---------------------------------------------
2018-01-01 AAOI 20 False
---------------------------------------------
2018-01-02 AAOI 20 False
---------------------------------------------
2018-01-03 AAOI 20 False
FB 34 False
---------------------------------------------
2018-01-04 AAOI 20 False
FB 34 False
---------------------------------------------
2018-01-05 AAOI 20 False
FB 34 False
AMZN 5 False
---------------------------------------------
2018-01-06 AAOI 20 True # AAOI will be sold next day
FB 34 False
AMZN 5 False
---------------------------------------------
2018-01-07 FB 34 False
AMZN 5 True # AMZN will be sold next day
SQ 25 False
---------------------------------------------
2018-01-08 FB 34 False
SQ 25 False
TPL 31 False
我该怎么做?任何帮助表示赞赏。
【问题讨论】:
-
我不明白您创建的第二个 DataFrame 的目的。另外,我们如何知道
sell_next_day何时变为 True? -
它的日期条目比
Stock_to_buy多。Sell_Next_Day是根据开、高、低、关计算的。我只是想让示例变得简单。 -
是的,我可以看到,但不清楚为什么它有更多,也不清楚你从哪里得到
sell_next_day -
Stock_to_buy是对巨大数据框的操作的结果,我希望Portfolio成为单独的一个。Sell_Next_Day将根据包含在Stock_to_buy行中的其他指标进行计算。 -
我不确定这是不是最好的设置。除此之外,您基本上想使用
df.append将Date、Symbol和Shares添加到您的第二个df。
标签: python pandas multi-index