擅长:python、mysql、java
<p>根据您的条件创建函数,然后使用<code>agg</code>和<code>groupby</code></p>
<pre><code>def yourfunc1(x):
return x.loc[x.str.len().idxmax()]
def yourfunc2(x):
if any(x.str.contains('w|y')|(~x.str.contains('m|n'))):
return x.loc[x.str.contains('w|y')|(~x.str.contains('m|n'))].iloc[0]
else :
return x.iloc[0]
df=df.replace({'Nan':''})
s=df.groupby(['a','b'],as_index=False).agg({'c':yourfunc1,'d':yourfunc1,'e':yourfunc1,'f':yourfunc2})
a b c d e f
0 1 one ab ww
1 1 two abcd aaaa ff uiww
2 2 one aaa nnn
</code></pre>