我的数据(来自 MALLET 主题模型的 doc-topics 输出)具有以下形状:
0 000cbac90fcc47efad081a929d74ab4c 0 0.3571185904395461 19 0.3113396339935042 4 0.12325835735304397 10 0.10409710001928904 8 0.04929547912982593 1 0.026833654459159112 2 0.01605333272832067 6 0.0048677134975701405 11 0.0019476615596546681 17 0.001908921062167065 14 0.0016877826048433426 5 5.256520178505095E-4 12 2.6155079718746636E-4 15 2.1354275518902175E-4 16 1.4885824861864537E-4 18 1.0362646846573807E-4 3 9.802082006786611E-5 9 9.641623707017035E-5 13 9.348016118039801E-5 7 5.0625647445916464E-5
1 002d2e8fbf8f40399fb52c12fe6d79a1 2 0.4893657941273363 19 0.31683989601254264 5 0.14250187050440621 4 0.020578111489117222 8 0.012792452390528172 10 0.012232805681991418 11 9.110846196785881E-4 17 8.170410538631972E-4 12 6.349213666458032E-4 15 5.18380595356186E-4 0 4.750799583739948E-4 6 3.65757686209981E-4 16 3.613572723378424E-4 14 2.8022169390809563E-4 1 2.5184798205700335E-4 18 2.5155594892638147E-4 3 2.3794809156182638E-4 9 2.3405292457801712E-4 13 2.2692552394855585E-4 7 1.228950766326711E-4
2 0046e05d3731491da4d9bab51d6ea36a 16 0.652945776661391 8 0.07953971245258269 0 0.06617734607073089 19 0.059407148715209045 4 0.02302855863782211 5 0.019674895033989195 11 0.014047819199510685 17 0.01259778154009113 2 0.012346407436534609 10 0.012058449719318621 12 0.009789716972385079 15 0.0079927997057698 6 0.005639539660456337 14 0.004320678460350115 1 0.0038831902561877263 18 0.0038786874597068794 3 0.0036688708127993316 9 0.003608812064842682 13 0.0034989161965088794 7 0.001894892943813293
etc...
每行(代表一个文档)都有一个索引列、一个 id 列和另外 40 个列,代表当前的 20 个主题。
我想要得到的形状是每个主题编号都是它自己的列,并且行只包含索引、id 和主题比例,例如:
i id 0 1 2
0 000cbac90fcc47efad081a929d74ab4c 0.3571185904395461 0.2346339935042 0.1884010001928904
etc...
似乎这可以通过枢轴来完成,但是主题编号乱序(按行中的相关性排序)使这令人头疼……
如何做到这一点?