Python 如何将数据帧转换为0和1的数据数组?

Python 如何将数据帧转换为0和1的数据数组?,python,arrays,pandas,numpy,Python,Arrays,Pandas,Numpy,我有一个熊猫数据框,看起来像这样: col_1 col_2 a 4 a 3 b 2 c 2 d 1 b 4 c 1 我需要将其转换为一个二维数组的NumPy数组,其中每个二维数组对应一个字母。例如,如果“a”不与1和2一起出现,而与3和4一起出现,则对应于它的2D数组应该类似于[0,0,1,1]。所以在这个例子中,我需要: [[0, 0, 1, 1], [0, 1, 0, 1], [0, 1, 0, 0], [1, 0, 0, 1]]

我有一个熊猫数据框,看起来像这样:

col_1 col_2
a     4
a     3
b     2
c     2
d     1
b     4
c     1
我需要将其转换为一个二维数组的NumPy数组,其中每个二维数组对应一个字母。例如,如果“a”不与1和2一起出现,而与3和4一起出现,则对应于它的2D数组应该类似于
[0,0,1,1]
。所以在这个例子中,我需要:

[[0, 0, 1, 1], [0, 1, 0, 1], [0, 1, 0, 0], [1, 0, 0, 1]]

最好的方法是什么?

这里是一种方法
交叉表

l = pd.crosstab(df.col_1,df.col_2).values.tolist()
Out[23]: [[0, 0, 1, 1], [0, 1, 0, 1], [1, 1, 0, 0], [1, 0, 0, 0]]