avec l'utilisation de PANDAS comment créer un nouveau champ "CADRAN" basé sur des conditions sur les champs "X" et "Y"
Les données et les conditions sont indiquées sur l'image ci-dessous
Pièce jointe 456704
Version imprimable
avec l'utilisation de PANDAS comment créer un nouveau champ "CADRAN" basé sur des conditions sur les champs "X" et "Y"
Les données et les conditions sont indiquées sur l'image ci-dessous
Pièce jointe 456704
salut,
numpy.select() (qu'on retrouvera via pd.np.select() également) permet de passer une liste de conditions et de choix (1 pour 1), on peut donc écrire un truc du genre :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 >>> import pandas as pd >>> z = pd.DataFrame( ... { ... 'x' : [1, 5, -2, -4, -11, -16, 8, -7, 2], ... 'y' : [3, -8, -5, 6, -14, -2, 8, 1, -2] ... } ... ) >>> z['cadran'] = pd.np.select( ... [ ... (z['x'] > 0) & (z['y'] > 0), ... (z['x'] > 0) & (z['y'] < 0), ... (z['x'] < 0) & (z['y'] < 0), ... (z['x'] < 0) & (z['y'] > 0) ... ], [ ... 'C1', 'C2', 'C3', 'C4' ... ] ... ) >>> z x y cadran 0 1 3 C1 1 5 -8 C2 2 -2 -5 C3 3 -4 6 C4 4 -11 -14 C3 5 -16 -2 C3 6 8 8 C1 7 -7 1 C4 8 2 -2 C2
Une excellente solution qui répond aux besoins, merci beaucoup