Python Dask 在同一列中应用函数和存储结果

Python Dask Apply Function and STore Result in Same Column

你好,我对 Dask 有点陌生,我正在尝试做以下事情

我有一个 CSV 文件我正在读取文件一切正常

import pandas 
import os
import json

import math
import numpy as np

import dask
from dask.distributed import Client
import dask.dataframe as df
import dask.multiprocessing
client = Client(n_workers=3, threads_per_worker=4, processes=False, memory_limit='2GB')

df = df.read_csv("netflix_titles.csv")

现在我有功能了


def toupper(x):
    return x.upper()

我想将它应用到一个列,现在问题是想将结果保存在同一列中,这似乎我做不到

df["title"].map(toupper).compute()

以下行有效,但我想要


df["title"] = df["title"].map(toupper).compute()

ValueError:并非所有分区都已知,无法对齐分区。请使用set_index设置索引。

图片

也许在 read_csv 之后试试这个。

df.title = df.title.map(toupper)
df.to_csv("netflix_titles.csv", index=False, single_file=True)

to_csv 有一个默认值 compute=True 的可选参数,因此您不需要显式执行 compute().