擅长:python、mysql、java
<p>稍长一点的解决方案。您可以通过</p>
<pre><code> g_ids = df['g_id'].unique()
</code></pre>
<p>这个示例将返回一个数组[1,2,3,4]</p>
<pre><code> for g_id in g_ids:
events = df[df['g_id'] == g_id]['event']
if 'TIP' not in events:
insert_index = len(df.index)
copy_row_index = df.iloc[df['g_id'].ne(g_id).idxmax()]
df.loc[insert_index] = df[df['g_id'] == g_id].iloc[0]
df.loc[insert_index]['event'] == 'TIP'
df.sort_values(by=['g_id'], inplace=True)
</code></pre>