【发布时间】:2016-02-09 08:05:09
【问题描述】:
给定一张表格,这是我想到的问题
Id type
0 1 [a,b]
1 2 [c]
2 3 [a,d]
我想把它转换成以下形式:
Id a b c d
0 1 1 1 0 0
1 2 0 0 1 0
2 3 1 0 0 1
我需要一种非常有效的方法来转换大表。欢迎任何意见。
======================================
我收到了几个很好的答案,非常感谢您的帮助。
现在出现了一个新问题,我的笔记本内存不足以使用pd.dummies生成整个数据帧。
有没有办法逐行生成一个稀疏向量然后堆叠在一起?
【问题讨论】:
-
你知道
type中所有可能出现的值吗? -
@shanmuga,是的,我可以预先快速计算出所有不同的类型
-
您的
type列是由字符串还是由字符串列表组成的? -
@DSM,它是json文件中的列表,当我将它读入数据框时,它变成了字符串,但
[符号被保留了。 -
所以
print(type(df["type"].iloc[0]))给<class 'str'>?