代码如下,可以运行也可以得到需要的结果,但是我觉得函数不漂亮,想学习一下高手是如何优化,写出简介的代码。在STACKOVERFLOW上也发了帖子,目前没有收到答案,听说知乎有很多大神,特来求助,有好的答案可以搭讪10元(第一次用知乎提问,不知道怎么打赏)
import pandas as pd
import numpy as np
df=pd.DataFrame({
'time':[8,8,8,6,6,6,3,3,3],
'code':[30,31,32,62,61,63,56,57,55],
'unit':['T1','T1','T1','T2','T2','T2','T3','T3','T3'],
})
print(df)
print()
def lowfilter(df,c1='time',c2='code'):
ser=df.groupby(df[c1])[c2].min()
ser = ser.reset_index()
df_tmp=pd.DataFrame()
for idx in ser.index:
df_tmp = pd.concat([df_tmp,df[(df[c1]==ser.iloc[idx][c1]) & (df[c2]==ser.iloc[idx][c2])]])
return df_tmp
print(lowfilter(df))