Как преобразовать строковые значения столбца Pandas в столбец списка строк?

avatar
Bruno Ambrozio
1 июля 2021 в 17:39
24
2
0

У меня есть следующий набор данных:

    Name     Codes
0    Tom  a1,a2,a3
1   nick  a1,b2,b3
2  krish  a1,b2,c3
3   jack  a5,c3,b1

Как преобразовать Codes в список внутри столбца фрейма данных? Мне нужен следующий результат:

    Name     Codes
0    Tom  [a1,a2,a3]
1   nick  [a1,b2,b3]
2  krish  [a1,b2,c3]
3   jack  [a5,c3,b1]

Спасибо!

Источник

Ответы (2)

avatar
Alon Gadot
1 июля 2021 в 17:44
1

Наиболее эффективным способом будет следующий:

df['Codes'] = df['Codes'].str.split()

При использовании pandas обычно рекомендуется отдавать предпочтение встроенным функциям. Обычно они имеют очень эффективную реализацию на cython.

Более гибким, но более медленным решением было бы применение произвольной функции Python -

df['Codes'] = df['Codes'].apply(lambda x: x.split())
avatar
crayxt
1 июля 2021 в 17:44
1

Достаточно простого вызова str.split(...)

>>> df.Codes.str.split(",")
0    [a1, a2, a3]
1    [a1, b2, b3]
2    [a1, b2, c3]
3    [a5, c3, b1]