我有一个数据框,它有许多行,每一行有购买物品的数量,然后是所有物品的名称,每列一个。如果项目少于列,则存在NaN值
Count Column1 Column2 Column3 Column4
0 1 a NaN NaN NaN
1 3 c a b NaN
2 2 e b NaN NaN
3 4 b c d f
我需要一个数据框,它的标签是项,值是真还是假,这取决于该行中是否存在项
Count a b c d e f
0 1 True False False False False False
1 3 True True True False False False
2 2 False True False False True False
3 4 False True True True False True
我不知道怎么才能得到这个
编辑: 找到了适合我的解决方案:
from mlxtend.preprocessing import TransactionEncoder
dataset = df.drop('Count', axis=1).T.apply(lambda x: x.dropna().tolist()).tolist()
te = TransactionEncoder()
te_ary=te.fit(dataset).transform(dataset)
df = pd.DataFrame(te_ary, columns=te.columns_)
试试看
输出:
尝试使用^{} +^{} 重塑^{} 然后^{} 级别=0:
相关问题 更多 >
编程相关推荐