擅长:python、mysql、java
<p>您可以使用列表理解</p>
<pre class="lang-py prettyprint-override"><code>df = pd.DataFrame(columns=["Target", "Source"])
for col in df1:
df = pd.concat(
[
df,
pd.DataFrame(
[
{"Target": val1, "Source": val2}
for val2 in df1.loc[:, df1.columns.difference([col])].values.flatten()
for val1 in df1[col]
]
),
],
)
df
</code></pre>
<pre><code> Target Source
0 kim b
1 jackson b
2 dan b
3 kim f
4 jackson f
... ... ...
22 g dan
23 d dan
24 f lee
25 g lee
26 d lee
108 rows × 2 columns
</code></pre>