擅长:python、mysql、java
<p>将两个<code>columns</code>组合成一个<code>column</code>,例如<code>pd.concat()</code>:</p>
<pre><code>s = pd.concat([test['score1'], test['score2'].rename(columns={'score2': 'score1'})]).reset_index()
s.columns = ['val', 'grp']
val grp
0 0 a
1 1 b
2 2 c
3 3 d
4 4 e
5 0 b
6 1 a
7 2 k
8 3 n
9 4 c
</code></pre>
<p>然后在<code>'grp'</code>上<code>.groupby()</code>并在<code>list</code>中收集{<cd6>}:</p>
^{pr2}$
<p>或者,如果您喜欢<code>dict</code>:</p>
<pre><code>s.to_dict()
{'e': [4], 'd': [3], 'n': [3], 'k': [2], 'a': [0, 1], 'c': [2, 4], 'b': [1, 0]}
</code></pre>
<p>或者,在一个步骤中达到相同效果,跳过重命名列:</p>
<pre><code>test.unstack().reset_index(-1).groupby(0).apply(lambda x: x.level_1.tolist())
a [0, 1]
b [1, 0]
c [2, 4]
d [3]
e [4]
k [2]
n [3]
</code></pre>