Python 熊猫-寻找转折点
我有一个pandas列,我想找到数据中的每个转折点并保存到一个新列Python 熊猫-寻找转折点,python,pandas,Python,Pandas,我有一个pandas列,我想找到数据中的每个转折点并保存到一个新列 Index Col A 1 1 2 3 3 5 4 4 5 8 6 1 7 2 8 7 9 5 10 3 要找到转折点,我可以使用index-1>indexindex-1>index
Index Col A
1 1
2 3
3 5
4 4
5 8
6 1
7 2
8 7
9 5
10 3
要找到转折点,我可以使用index-1>index
生成
Index Col A TP
1 1 0
2 3 0
3 5 1 #turning point
4 4 1
5 8 1
6 1 1
7 2 0
8 7 0
9 5 0
10 3 0
然而,我认为使用5点计算(index-2>index-1>index
或相反)来防止如此多的误报更为准确
Index Col A TP
1 1 0
2 3 0
3 5 0
4 4 0
5 8 0
6 1 0
7 2 0
8 7 1
9 5 0
10 3 0
在这么多条件下,我如何在熊猫身上做到这一点?一个复杂的名词短语。在哪里?你需要做一些转换:
df["TP"] = ((df["Col A"].shift(-2) < df["Col A"].shift(-1)) &
(df["Col A"].shift(-1) < df["Col A"]) &
(df["Col A"].shift( 1) < df["Col A"]) &
(df["Col A"].shift( 2) < df["Col A"].shift( 1))).astype(int)
df["TP"]
#1 0
#2 0
#3 0
#4 0
#5 0
#6 0
#7 1
#8 0
#9 0
df[“TP”]=((df[“Col A”].shift(-2)
你如何定义你的转折点?您的示例数据框的预期结果是什么?我包括了它们。如果使用5点计算,则是索引-2>索引-1>索引值,或者是索引-2index+1>索引+2
处的值,然后在新列中打印0或1。