Re: pandas switch-on switch-off

Liste des GroupesRevenir à fcl python 
Sujet : Re: pandas switch-on switch-off
De : c4rboleum**NOSPAM** (at) *nospam* gmail.com.invalid (Carboleum)
Groupes : fr.comp.lang.python
Date : 03. Apr 2022, 14:51:52
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <t2c598$rs7$1@dont-email.me>
References : 1 2
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0
On 9/07/21 15:52, carboleum wrote:
On 2/04/21 11:19, carboleum wrote:
>
Bonjour,
>
Dans mon dataframe, j'ai une colonne "on" qui allume la lumière et une colonne "off" qui éteint la lumière.
>
Quelqu'un connais la fonction (si elle existe ?) qui renvoie la colonne "lumière allumée" ?
>
     on  off  res
0    0    0    0
1    0    0    0
2    1    0    1
3    0    0    1
4    0    1    0
5    0    0    0
6    0    0    0
7    0    1    0
8    0    0    0
9    1    0    1
10   0    0    1
11   1    0    1
12   0    0    1
13   0    1    0
14   0    1    0
15   0    0    0
>
Ou une piste ?
>
Merci
 J'ai trouvé \o/ Yeah!...
 C'est un peu tiré par les cheveux, mais ca me plait! :-)
 df = pd.DataFrame([[0, 0], [0, 0], [1, 0], [0, 0], [0, 1], [0, 0], [0, 0], [0, 1], [0, 0], [1, 0], [0, 0], [1, 0], [0, 0], [0, 1], [0, 1], [0, 0], [0, 0], [1, 0], [1, 1], [0, 0]], columns=['on', 'off']).astype(bool)
 df['sig'] = df.on.where(df.on).fillna(1 - df.off.where(df.off)).ffill()
 df
      on  off  sig
0    0    0  NaN
1    0    0  NaN
2    1    0  1.0
3    0    0  1.0
4    0    1  0.0
5    0    0  0.0
6    0    0  0.0
7    0    1  0.0
8    0    0  0.0
9    1    0  1.0
10   0    0  1.0
11   1    0  1.0
12   0    0  1.0
13   0    1  0.0
14   0    1  0.0
15   0    0  0.0
16   0    0  0.0
17   1    0  1.0
18   1    1  1.0
19   0    0  1.0
 
Bonjour Bonjour,
J'ai pondu quelque chose qui est plus lisible:
df['sig0'] = df.on - df.off
df['sig1'] = df.sig0.where(df.sig0 != 0).ffill()
df['sign'] = df.sig1 > 0
df
     on  off  sig0  sig1   sign
0    0    0     0   NaN  False
1    0    0     0   NaN  False
2    1    0     1   1.0   True
3    0    0     0   1.0   True
4    0    1    -1  -1.0  False
5    0    0     0  -1.0  False
6    0    0     0  -1.0  False
7    0    1    -1  -1.0  False
8    0    0     0  -1.0  False
9    1    0     1   1.0   True
10   0    0     0   1.0   True
11   1    0     1   1.0   True
12   0    0     0   1.0   True
13   0    1    -1  -1.0  False
14   0    1    -1  -1.0  False
15   1    1     0  -1.0  False
16   0    0     0  -1.0  False
17   0    0     0  -1.0  False
18   1    0     1   1.0   True
19   1    1     0   1.0   True
20   0    0     0   1.0   True
et qui a pour effet d'annuler l'effet quand on appuie sur les deux boutons en même temps (ligne 15 et 19)

Date Sujet#  Auteur
3 Apr 22 * Re: pandas switch-on switch-off2Carboleum
12 Apr 22 `- Re: pandas switch-on switch-off1Damien Wyart

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal