【发布时间】:2018-10-06 04:52:18
【问题描述】:
我知道标题令人困惑,但让我解释一下。我正在尝试为 sklearn.MultiLableBinarizer 准备 Series',每个字符串都是一个单独的用户 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) 解决这个问题
【问题讨论】:
-
@SandeepKadapa 我在第一段中解释了
s.apply(list)拆分为单个字符,这是我不想要的。 -
你能显示你的实际数据框架结构吗,虽然你已经完成了工作。
标签: python pandas one-hot-encoding