【发布时间】:2023-02-14 22:13:31
【问题描述】:
你好专家我很惊讶通过比较其他列值将值附加到 df 的新列。我搜索了相关问题,但没有找到合适的答案。我是 python 的新手
我想通过使用 df.apply lambda 帮助比较 df 其他列的最后 4 个值,在每个元素的最后一行附加 df 的新列,在这方面高度赞赏。
我有以下 df:
Symbol open close sig
0 APPL 153.60 152.90 0
1 APPL 152.90 153.55 1
2 APPL 153.55 152.00 0
3 APPL 152.00 153.50 1
4 APPL 153.50 154.10 1
5 TSLA 193.00 192.10 0
6 TSLA 192.10 191.50 0
7 TSLA 191.50 192.90 1
8 TSLA 192.90 192.45 0
9 TSLA 192.45 191.10 0
我想比较除 1 行以外的 df['sig'] 列,依此类推所有股票,如果 sig 列的最后 4 个值 APPL 是 1011,那么第 4 行的 df ['signal'] 应该附加为 1(即最后一行每只股票的)如果 TSLA 的最后 4 个值 df['sig'] 是 0100 那么在第 9 行 df['signal'] 被附加为 0
通过使用 lambda 或 df.npwhere 等...
谢谢!
期待这个:
Symbol open close sig signal
0 APPL 153.60 152.90 0 NaN
1 APPL 152.90 153.55 1 NaN
2 APPL 152.75 152.00 0 NaN
3 APPL 153.00 153.50 1 NaN
4 APPL 153.50 154.10 1 1
5 TSLA 193.00 192.10 0 NaN
6 TSLA 192.10 191.50 0 NaN
7 TSLA 191.50 192.90 1 NaN
8 TSLA 192.90 192.45 0 NaN
9 TSLA 192.45 191.10 0 0
【问题讨论】:
-
除了严格匹配
1011/0100之外,是否有附加1或0的一些基本逻辑? -
是的,如果蜡烛收盘 < open sig column append as 0 else candle close > open sig column as 1 如果 1 根蜡烛是绿色的,2 根红色的,3 根绿色的和 4 根蜡烛,我想购买股票这是基本逻辑