Python 熊猫-寻找转折点

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

我有一个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>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。