Potrzebuję utworzyć kolumnę, która jest oparta na pewnych warunkach na beczce danych. W pand jest dość prosta:Utwórz kolumnę warunku if-else w beczce z bazą danych
ddf['TEST_VAR'] = ['THIS' if x == 200607 else
'NOT THIS' if x == 200608 else
'THAT' if x == 200609 else 'NONE'
for x in ddf['shop_week'] ]
Choć w dask muszę zrobić to samo jak poniżej:
def f(x):
if x == 200607:
y= 'THIS'
elif x == 200608 :
y= 'THAT'
else :
y= 1
return y
ddf1 = ddf.assign(col1 = list(ddf.shop_week.apply(f).compute()))
ddf1.compute()
pytania:
- Czy jest lepiej/bardziej prosty sposób Osiągnij to?
- Nie mogę zmodyfikować pierwszej ramki danych ddf, muszę utworzyć plik ddf1, aby zmiany były beczkowatą ramką danych Niezmienny obiekt?
spacje ramek danych są domyślnie zmienne lub są zmienne po wydaniu wersji 0.10.2? –
W najnowszej wersji Dask, wersja 0.10.2, dask.dataframes obsługuje przypisanie kolumn – MRocklin
Dzięki za odpowiedź @MRocklin –