擅长:python、mysql、java
<p>这里有一个方法:</p>
<pre><code># create a group counter column
df['Counter'] = df['Ctgr'].isna().cumsum()
# drop NA
df2 = df[df['Ctgr'].notna()].reset_index(drop=True)
# join cols
def solve(f):
# filter data
f['col'] = f['Ctgr'].apply(lambda x: x + '|' + f['Ctgr'].iloc[0])
return f
df2 = df2.groupby('Counter').apply(solve)
Ctgr Counter col
0 A 0 A|A
1 B 0 B|A
2 B 0 B|A
3 C 0 C|A
4 D 1 D|D
5 E 1 E|D
6 F 1 F|D
</code></pre>