框架的堆栈功能可以像这样翻转数据框架
cola colb colc
1 -> 10 <missing> aaa
3 -> 20 5.5 bb
5 -> 30 <missing> <missing>
6 -> 40 <missing> ccc
进入
Row Column Value
0 -> 1 cola 10
1 -> 1 colc aaa
2 -> 3 cola 20
3 -> 3 colb 5.5
4 -> 3 colc bb
5 -> 5 cola 30
6 -> 6 cola 40
7 -> 6 colc ccc
但是,通常需要在执行取消透视操作时将列值之一和另一列的标题用作新列的联接键。我如何获得类似的结果:
0 -> 10 colb <missing>
1 -> 10 colc aaa
2 -> 20 colb 5.5
3 -> 20 colc bb
4 -> 30 colb <missing>
5 -> 30 colc <missing>
6 -> 40 colb <missing>
7 -> 40 colc ccc
可乐的原始值以及colb和colc的列标题已成为指向colb值和colc值的组合键。
如何使用Deedle做到这一点?
我认为我们没有任何内置函数可以在Deedle中自动执行此操作,但是您可以通过遍历框架的行然后遍历各列来做到这一点:
假设f
是您问题中的样本输入框,则应使用以下技巧:
[ for r in f.Rows.Values do
for c in r.Keys do
if c <> "cola" then
yield r.Get("cola"), c, r.TryGet(c) ]
|> Frame.ofRecords
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句