12
votes

Créer une colonne de condition If-else dans Dask Dataframe

J'ai besoin de créer une colonne basée sur une condition sur Dask Dataframe. En Pandas, il est assez simple: xxx

tandis que dans Dask, je dois faire la même chose comme ci-dessous: xxx

questions: >

  1. Y a-t-il une meilleure façon de y parvenir?
  2. Je ne peux pas modifier le premier DDF de Dataframe, je dois créer DDF1 sur SE Les modifications sont l'objet immuable Dask Dataframe?

0 commentaires

3 Réponses :


1
votes

Vous pouvez simplement utiliser: xxx

et ensuite: xxx

malheureusement je n'ai malheureusement pas une réponse à la deuxième question ou Je ne comprends pas ...


0 commentaires

7
votes

Réponses:

  1. Qu'est-ce que tu fais maintenant, c'est presque ok. Vous n'avez pas besoin d'appeler calcul code> jusqu'à ce que vous soyez prêt pour votre réponse finale. P>

    ddf['col'] = ddf.shop_week.apply(f)
    


3 commentaires

Les dataframes Dask sont mutables par défaut ou sont publiés par courrier électronique de la version 0.10.2?


Dans la version la plus récente de Dask, version 0.10.2, Dask.Dataframes Assignation de colonne Support


Merci pour la réponse @mrocklin



0
votes

Une meilleure approche peut retirer la colonne sous la forme d'une matrice de Dask, puis effectuez des opérations imbriquées dans lesquelles code> avant de l'ajouter à la Dataframe:

import dask.array as da

x = ddf['shop_week'].to_dask_array()

df['TEST_VAR'] = \
    da.where(x == 200607, 'THIS',
    da.where(x == 200608, 'NOT THIS',
    da.where(x == 200609, 'THAT', 'NONE')))

df['TEST_VAR'].compute()


0 commentaires