Приращение строки для столбца dask df - PullRequest
0 голосов
/ 11 февраля 2020

Я пытался исследовать, но не получаю потенциальных клиентов, поэтому отправляю вопрос,

У меня есть df, и я хочу, чтобы значения строкового столбца увеличивались на основе их значений ascii каждого символа строки на 3

df= dd.read_csv("test.csv")

print(df.head(10)) 


   Name  Age
0   Tom   10
1  Nick   15
2  Juli   14

Окончательный ответ должен быть таким, как Имя увеличивается на 3 числа ASCII

    Name  Age
0   Wrp    10
1   Qlfn   15
2   Myol   14

Это действие должно быть выполнено на df со строкой 10M. Пожалуйста, предложите мне, как добиться этого результата?

Если это просто pandas df, это можно выполнить с помощью следующей команды:

df['Name'] = [''.join(chr(ord(s)+3) for s in i) if i is not None else None for i in df['Name']]

Если я использую то же самое для df dask, то выдает ошибку raise NotImplementedError()

Пожалуйста, помогите мне, как написать то же самое для df dask.

1 Ответ

1 голос
/ 11 февраля 2020

Я придумал следующее решение, надеюсь, оно будет соответствовать вашим целям:)

def ascii(name):
    result = ""
    for ch in name:
        result += chr(ord(ch) + 3)
    return result

df['Name'] = df['Name'].astype(dtype=str)
df['Name'] = df['Name'].apply(ascii)
...