Skip to content Skip to sidebar Skip to footer

Creating Boolean Matrix From One Column With Pandas

I have been searching for an answer but I don't know what to search for so I'll ask here instead. I'm a beginner python and pandas enthusiast. I have a dataset where i would like t

Solution 1:

Partly because there's as of yet no convenient cartesian join (whistles and looks away), I tend to drop down to numpy level and use broadcasting when I need to do things like this. IOW, because we can do things like this

>>> df.x1.values - df.x1.values[:,None]
array([[ 0,  2,  0,  4],
       [-2,  0, -2,  2],
       [ 0,  2,  0,  4],
       [-4, -2, -4,  0]])

We can do

>>> pdf = pd.DataFrame(index=df.id.values, columns=df.id.values, 
                       data=(df.x1.values == df.x1.values[:,None]).astype(int))
>>> pdf
   A  B  C  D
A  1010
B  0100
C  1010
D  0001

Post a Comment for "Creating Boolean Matrix From One Column With Pandas"