擅长:python、mysql、java
<p>考虑<code>pivot</code>关闭<code>groupby().cumcount</code>和<code>merge</code>:</p>
<pre><code>df_new['IDcount'] = "Name_" + (df_new.groupby("ID").cumcount() + 1).astype(str)
df_wide = df_new.pivot(index="ID", columns="IDcount", values="Name").reset_index()
df_merge = pd.merge(df_orig, df_wide, on='ID', how='left')
# ID GPA Name_1 Name_2
# 0 1 3.2 Bob None
# 1 3 3.9 Jane Sanoj
# 2 4 1.2 NaN NaN
# 3 5 2.2 NaN NaN
</code></pre>