У меня есть следующий фрейм данных:
data = {'A': [0,0,0,1,1,1,0,1], 'B': [0,1,1,1,1,1,1,1], 'C': [1,0,1,0,1,1,1,0]}
df=pd.DataFrame(data)
df=df.transpose()
columns={'0':'population'}
df=df.rename(index=str, columns={0: "20062", 1: "20063", 2: "20064", 3: "20071", 4: "20072", 5: "20073", 6: "20074", 7: "20081"})
Out[135]:
20062 20063 20064 20071 20072 20073 20074 20081
A 0 0 0 1 1 1 0 1
B 0 1 1 1 1 1 1 1
C 1 0 1 0 1 1 1 0
Моя основная задача - найти количество "исчезновений"
«Исчезновение» позволяет нам определить случай, когда за 0
следует после 1
Итак, ожидаемый результат в этом примере: A
исчезает только один раз в 20074
, B
исчезает ноль раз, в то время как C
исчезает 3 раза (в 2006,20071, и 20081 соответственно)
Я хочу сделать следующее:
- общее количество исчезновений по времени (столбцы в этом примере, поэтому в 2006 г.3 было одно исчезновение, снова 1 в 2007 г.2 и т. Д.)
- по типу: A исчез один раз в 2007 году4, C исчез 3 раза в 2006 году3, 20071 и 20081
- общее количество исчезновений (здесь 4)
Может кто-нибудь помочь, как я могу сделать это в Python.
Мой фрейм данных довольно большой, поэтому в идеале я бы искал общее решение.
Спасибо