ho un df in questo modo:Identificazione occorrenze consecutive di un valore di
Count
1
0
1
1
0
0
1
1
1
0
e voglio restituire un 1
in una nuova colonna se ci sono due o più occorrenze consecutive di 1
in Count
e 0
se non c'è. Quindi nella nuova colonna ogni riga otterrebbe un valore 1
in base a questi criteri soddisfatti nella colonna Count
. La mia uscita desiderata sarebbe allora:
Count New_Value
1 0
0 0
1 1
1 1
0 0
0 0
1 1
1 1
1 1
0 0
Sto pensando che potrebbe essere necessario utilizzare itertools
ma ho letto su di esso e non sono imbattuto in quello che mi serve ancora. Mi piacerebbe essere in grado di utilizzare questo metodo per contare un numero qualsiasi di occorrenze consecutive, non solo 2. Ad esempio, a volte ho bisogno di contare 10 occorrenze consecutive, io uso solo 2 nell'esempio qui.
Controllare se 'df ['Count'] [1] == df ['Count'] [1] .shift (1)', e in tal caso, '1', altrimenti' 0'. Quindi dovresti '.append()' questi valori (0 o 1) a un 'array'. Quindi imposta il primo elemento ('array [0]') su '0' (predefinito). Quindi devi capire come unire/unire/tappare/concatenare' il tuo 'array' nel tuo' dataframe'. 100% non testato, ma penso che questo possa funzionare ... :) –
Forse avrei semplificato la mia domanda troppo, e se volessi 3 occorrenze consecutive? Non penso che funzioni allora –