如何将列的 Pandas 字符串值转换为字符串列表的列?

时间:2021-07-01 17:39:56

标签: python pandas dataframe

我有以下数据集:

    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 个答案:

答案 0 :(得分:0)

最有效的方法如下:

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

在使用 Pandas 时支持内置函数通常是一个好主意。这些通常在 cython 中有非常有效的实现。

更灵活但速度较慢的解决方案是应用任意 python 函数 -

df['Codes'] = df['Codes'].apply(lambda x: x.split())

答案 1 :(得分:0)

一个简单的 str.split(...) 调用就足够了

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