Pandas 将矩阵转化为伪矩阵
我已经生成了一个组合列表,并希望将其转换为假人矩阵Pandas 将矩阵转化为伪矩阵,pandas,python-2.7,Pandas,Python 2.7,我已经生成了一个组合列表,并希望将其转换为假人矩阵 import pandas as pd from itertools import combinations comb = pd.DataFrame(list(combinations(range(1, 6), 4))) 0 1 2 3 0 1 2 3 4 1 1 2 3 5 2 1 2 4 5 3 1 3 4 5 4 2 3 4 5 希望将上述数据帧转换为如下所示的数据帧。谢谢 1 2 3 4 5
import pandas as pd
from itertools import combinations
comb = pd.DataFrame(list(combinations(range(1, 6), 4)))
0 1 2 3
0 1 2 3 4
1 1 2 3 5
2 1 2 4 5
3 1 3 4 5
4 2 3 4 5
希望将上述数据帧转换为如下所示的数据帧。谢谢
1 2 3 4 5
0 1 1 1 1 0
1 1 1 1 0 1
2 1 1 0 1 1
3 1 0 1 1 1
4 0 1 1 1 1
您可以使用:
from sklearn.preprocessing import MultiLabelBinarizer
lb = MultiLabelBinarizer()
df = pd.DataFrame(lb.fit_transform(comb.values), columns= lb.classes_)
print (df)
1 2 3 4 5
0 1 1 1 1 0
1 1 1 1 0 1
2 1 1 0 1 1
3 1 0 1 1 1
4 0 1 1 1 1