擅长:python、mysql、java
<p>在筛选要分组到不同标题下的列之后,请使用<a href="https://github.com/pandas-dev/pandas/blob/master/pandas/core/reshape.py#L820" rel="nofollow noreferrer">^{<cd1>}</a>作为<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.melt.html" rel="nofollow noreferrer">^{<cd2>}</a>的最接近替代项。在</p>
<p>通过使用<code>pd.lreshape</code>,当您将dictionary对象作为它的<code>groups</code>参数注入时,键将采用新的头名称,而作为<code>dict</code>值的所有列名列表都将被强制转换到该头下。因此,它在转换之后生成一个长格式的<code>DF</code>。在</p>
<p>最后,对未使用的列进行<code>DF</code>w.r.t排序,以相应地对齐这些列。在</p>
<p>然后,在末尾添加<code>reset_index(drop=True)</code>,通过删除中间索引,将索引轴重新标记为默认整数值。在</p>
<pre><code>d = pd.lreshape(df, {"Time": df.filter(regex=r'^D').columns,
"Unit": df.filter(regex=r'^U').columns})
d.sort_values(['ANO', 'MNO']).reset_index(drop=True)
</code></pre>
<p><a href="https://i.stack.imgur.com/i2qT4.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/i2qT4.png" alt="enter image description here"/></a></p>
<hr/>
<p>如果分组列的长度不匹配,则:</p>
^{pr2}$
<p>继续上面提到的对<code>pd.lreshape</code>执行相同的步骤,但这次包含了<code>dropna=False</code>参数。在</p>