Szukam sposobu na kod AUMPY SELECT SELECT, który robi to samo co instrukcja Case SQL. Mam nazwę dataframe DF1 z następującymi kolumnami: UP1, UP2, SC1, SC2, ST1, ST2

Mój skrypt SQL wyglądałby: Case SC1, gdy "up_mjb", a następnie ST1, gdy "up_msci", a następnie st2 inaczej ""

Jak kodować go za pomocą np.select? Każda pomoc byłaby bardzo doceniana.

0
covershaker 15 kwiecień 2021, 06:09

1 odpowiedź

Najlepsza odpowiedź

Załóżmy, że DF będziemy pandas dataframe, który ma twoje dane

conds = [(df['sc1']=='UP_MJB'),(df['sc1']=='UP_MSCI')]
actions = [df['st1'],df['st2']]

df['new_col'] = np.select(conds,actions,default=df['sc1'])

default Parametr jest używany, jeśli żadna z przypadków nie jest spełniona. W tym przykładzie zachowuje wartość COL 'SC1'.

Patrz https://numpy.org/doc/stable/reference/Generated /numpy.select.html Więcej informacji.

0
Sai Pardhu 15 kwiecień 2021, 03:18