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

2024-10-03 17:19:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道标题很混乱,但让我解释一下。我正在为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()不起作用,正如所解释的here

注意:字符串实际上是以整数开始的,但是我可以用.apply(str)来解决这个问题


Tags: 字符串用户idids标题编码for错误