Dask相当于Pandas替换?

时间:2016-11-30 22:02:10

标签: pandas dask

我在熊猫中经常使用的是.replace操作。我很难看到如何在dask数据帧上轻松执行相同的操作?

df.replace('PASS', '0', inplace=True)
df.replace('FAIL', '1', inplace=True)

2 个答案:

答案 0 :(得分:7)

您可以使用mask

df = df.mask(df == 'PASS', '0')
df = df.mask(df == 'FAIL', '1')

或等效链接mask来电:

df = df.mask(df == 'PASS', '0').mask(df == 'FAIL', '1')

答案 1 :(得分:1)

如果有人想知道如何替换特定列中的某些值,请执行以下操作:

def replace(x: pd.DataFrame) -> pd.DataFrame:
    return x.replace(
      {'a_feature': ['PASS', 'FAIL']},
      {'a_feature': ['0', '1']}
    )
df = df.map_partitions(replace)

由于我们在此处处理了熊猫的DataFrame,请参阅the documentation以获取更多信息