Pandas 将字符串系列转换为字符串列表系列(大小为 1)以进行编码

Pandas convert Series of strings to Series of lists of strings (of size 1) for encoding

我知道标题令人困惑,但让我解释一下。我正在尝试为 sklearn.MultiLableBinarizer 准备 Series',每个字符串都是我想要 one-hot-encode 的单独用户 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],但由于我们使用系列和 apply(),我需要类似函数名的东西,但是对于 []list() 不起作用,如 here

所述

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

来解决这个问题

链接 s.apply(lambda x: [x]) 完美无缺。