使用Dask DataFrame loc更改列值

时间:2019-08-08 14:22:55

标签: python pandas dask loc

我有一个庞大的数据库,我需要根据特定条件更改列的值。

在熊猫中,我执行以下代码来完成我想要的工作:

df.loc[
        (df['ID_CRITERIO_APURACAO'] == TipoDestinatario.RESIDENCIAL.value) &
        (df['CODG_GRUPO_TENSAO'] == 8) &
        (df['CONSUMO'].between(0, 30)),
        'DESCONTO'
    ] = 35

如何在Dask中做类似的事情?

1 个答案:

答案 0 :(得分:0)

Dask不支持就地突变。试试这个:

condition = (df['ID_CRITERIO_APURACAO'] == TipoDestinatario.RESIDENCIAL.value) &
    (df['CODG_GRUPO_TENSAO'] == 8) &
    (df['CONSUMO'].between(0, 30))

desconto = df.where(condition, 35)
df['DESCONTO'] = desconto