首页 > 解决方案 > Pandas 将字符串系列转换为字符串列表系列(大小为 1)以进行编码

问题描述

我知道标题令人困惑,但让我解释一下。我正在尝试为 a 准备 Series' sklearn.MultiLableBinarizer,每个字符串都是一个单独的用户 ID,我想对其进行一次热编码。错误地,它遍历了字符串的每个单独的字符。做series.apply(list)同样的事情,将每个字符串拆分成单独的字符。如果这个系列是这样的:

0 '3436803478'
1 '1230782212'
2 '7320482099'
...

然后我希望输出是

0 ['3436803478']
1 ['1230782212']
2 ['7320482099']
...

代替

0 ['3','4','3','6','8','0','3','4','7','8']
1 ['1','2','3','0','7','8','2','2','1','2']
2 ['7','3','2','0','4','8','2','0','9','9']
...

如果我使用单个值,我会这样做ids = [[s] for s in values],但由于我们使用的是 Series 和apply(),所以我需要类似函数名的东西,但对于[]. list()不起作用,如此处所述

注意:字符串实际上以整数开头,但我可以用.apply(str)

标签: pythonpandasone-hot-encoding

解决方案


链接s.apply(lambda x: [x])工作完美。


推荐阅读