擅长:python、mysql、java
<p>您可以将现有代码放入函数中,然后按<code>Trans</code>分组并应用函数:</p>
<pre><code>def func(df):
start = df['Start'].copy()
df['Start'] = df.End + 10
df['End'] = ((start.shift(-1) - 10))
df.iloc[-1, df.columns.get_loc('Start')] = ''
df.iloc[-1, df.columns.get_loc('End')] = ''
return df
df.groupby('Trans').apply(func)
</code></pre>
<p>结果:</p>
<pre><code> Head CHR Start End Trans Num
0 A 1 30677 30966 ENST473358 1
1 A 1 31107 30257 ENST473358 2
2 A 1 ENST473358 3
3 B 1 35491 34544 ENST417324 1
4 B 1 35184 35711 ENST417324 2
5 B 1 ENST417324 3
6 B 1 35491 120765 ENST461467 1
7 B 1 ENST461467 2
</code></pre>