37,743
社区成员




import pandas as pd
a_list = [['a', 1 , 121], ['a', 2, 122], ['b', 1, 123], ['b', 2, 124], ['b', 3, 125]]
df = pd.DataFrame(a_list)
df.columns = ['ch','val', 'other']
gp=df.groupby(['ch']).apply(lambda t: t[t.val==t.val.max()])
print(gp)
for index, row in gp.iterrows():
print(row[0],row[1],row[2])
用dataframe 处理的话, 后面的数据也在组里的。 你看看我例子,
['a', 1 , 121 。。。。 ] 根据不同需求,调整一下应该可以。
import pandas as pd
a_list = [['a', 1], ['a', 2], ['b', 1], ['b', 2], ['b', 3]]
df = pd.DataFrame(a_list)
df.columns = ['ch','val']
gp=df.groupby(['ch']).apply(lambda t: t[t.val==t.val.max()])
for index, row in gp.iterrows():
print(row[0],row[1])