在我的数据框中,我有一个分类变量,我想将其转换为虚拟变量.但是,此列有多个以逗号分隔的值:
0 'a'
1 'a,b,c'
2 'a,b,d'
3 'd'
4 'c,d'
Run Code Online (Sandbox Code Playgroud)
最后,我想为每个可能的离散值设置二进制列; 换句话说,最终列数等于原始列中唯一值的数量.我想我必须使用split()来获取每个单独的值但不确定之后要做什么.任何提示非常感谢!
编辑:附加扭曲.列具有空值.并且在回应评论时,以下是期望的输出.谢谢!
a b c d
0 1 0 0 0
1 1 1 1 0
2 1 1 0 1
3 0 0 0 1
4 0 0 1 1
Run Code Online (Sandbox Code Playgroud) 我阅读了 sqlite3 模块(https://docs.python.org/2/library/sqlite3.html)的基础知识,它允许您连接到数据库中的 .db 文件,然后您可以执行正常的 SQL 命令,但是我想知道是否可以将.db文件读入列表、数组、甚至字典的列表中。本质上,我试图做与 unicodecsv 或 csv 模块相同的事情,但使用 .db 文件。
如果您想知道我为什么要尝试这样做:我将转换数据,并且使用数组一次计算整个列对我来说会更容易。如果您需要任何说明,请告诉我。