我有一个dataframe,我正在努力创建一个基于其他列的列,我将为一个示例数据共享这个问题。你知道吗
Date Target1 Close
0 2018-05-25 198.0090 188.580002
1 2018-05-25 197.6835 188.580002
2 2018-05-25 198.0090 188.580002
3 2018-05-29 196.6230 187.899994
4 2018-05-29 196.9800 187.899994
5 2018-05-30 197.1375 187.500000
6 2018-05-30 196.6965 187.500000
7 2018-05-30 196.8750 187.500000
8 2018-05-31 196.2135 186.869995
9 2018-05-31 196.2135 186.869995
10 2018-05-31 196.5600 186.869995
11 2018-05-31 196.7700 186.869995
12 2018-05-31 196.9275 186.869995
13 2018-05-31 196.2135 186.869995
14 2018-05-31 196.2135 186.869995
15 2018-06-01 197.2845 190.240005
16 2018-06-01 197.2845 190.240005
17 2018-06-04 201.2325 191.830002
18 2018-06-04 201.4740 191.830002
我想为每个观察创建另一个列(例如,称为days\ u to\ u hit\ u target),它是接近命中(或穿过特定日期的目标)的天数差,然后计算天数差并将它们放入days\ u to\ u hit\ u target列。你知道吗
我们的想法是,假设2018年5月25日今天的收盘价是188.58,那么,我想得到这个目标(198.0090)达到收盘价的日期,它在2018年6月4日晚些时候的某个时候正在做,收盘价已经达到了第一次观察的目标(198.0090),这将被输入到专栏的第一次观察(达到目标的天数)。你知道吗
测试起来有点困难,因为没有一个目标出现在近处。但想法很简单。对原始帧进行子集划分,使
date
在当前行日期之后,Close
大于或等于Target1
,然后获取第一个条目(这是在使用df.sort_values
对其进行排序之后)。你知道吗如果子集为空,则使用“无”。否则,使用
Date
。Days to hit target
在这一点上非常简单。你知道吗使用
loc
和at
的组合来查找目标命中的日期,然后减去日期。你知道吗相关问题 更多 >
编程相关推荐