回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个很宽的数据帧,我想堆叠和透视,但不太清楚如何去做。在</p>
<p>这是我要开始的</p>
<pre><code>testdf = pd.DataFrame({"Topic":["A","B","B","C","A"],
"Org":[1,1,2,3,5,],
"DE1":["a","c","d","e","f"],
"DE2":["b","c","a","d","h"],
"DE3":["a","c","b","e","f"] })
testdf
Out[40]:
DE1 DE2 DE3 Org Topic
0 a b a 1 A
1 c c c 1 B
2 d a b 2 B
3 e d e 3 C
4 f h f 5 A
</code></pre>
<p>我想做的是透视表,以便Org的列值是列名,每个名称的列值是D1、D2和D3中的匹配值,最后以Topic作为索引。这有可能吗?在</p>
<p>编辑:正如Randy C所指出的,如果我使用pivot,我可以得到以下结果:</p>
^{pr2}$
<p>这很接近,但我想让DE值“堆叠”而不是宽的。结果是这样的</p>
<pre><code> Org 1 2 3 5
Topic
A a NaN NaN f
A b NaN NaN h
A a NaN NaN f
B c d NaN NaN
B c a NaN NaN
B c b NaN NaN
C NaN NaN e NaN
C NaN NaN d NaN
C NaN NaN e NaN
</code></pre>