擅长:python、mysql、java
<p>您可以熔化数据帧:</p>
<pre><code>>>> keys = [c for c in df if c.startswith('key.')]
>>> pd.melt(df, id_vars='topic', value_vars=keys, value_name='key')
topic variable key
0 8 key.0 abc
1 9 key.0 xab
2 8 key.1 def
3 9 key.1 xcd
4 8 key.2 ghi
5 9 key.2 xef
</code></pre>
<p>它还提供了密钥的来源。</p>
<hr/>
<p>从<code>v0.20</code>,<code>melt</code>是<code>pd.DataFrame</code>类的第一类函数:</p>
<pre><code>>>> df.melt('topic', value_name='key').drop('variable', 1)
topic key
0 8 abc
1 9 xab
2 8 def
3 9 xcd
4 8 ghi
5 9 xef
</code></pre>