Skip to main content
 首页 » 编程设计

python之groupby 并选择每个组的第一个、第二个和第四个成员

2025年05月04日13zhoujg

相关:pandas dataframe groupby and get nth row

我可以使用 groupby 方法并选择前 N 个组成员:

df.groupby('columnA').head(N)  

但是如果我想要每个组的第一个、第二个和第四个成员怎么办?

请您参考如下方法:

GroupBy.nth需要一个列表,所以你可以做

df = pd.DataFrame({'A': list('aaaabbbb'), 'B': list('abcdefgh')}) 
df.groupby('A').nth([0, 1, 3]) 
 
   B 
A    
a  a 
a  b 
a  d 
b  e 
b  f 
b  h 

# To get the grouper as a column, use as_index=False 
df.groupby('A', as_index=False).nth([0, 1, 3]) 
 
   A  B 
0  a  a 
1  a  b 
3  a  d 
4  b  e 
5  b  f 
7  b  h