目录

搜索

输入搜索字词或模块,类或函数名称。

pandas.core.groupby.GroupBy.nth

GroupBy.nth(n, dropna=None)[source]

如果n是一个int,从每个组的第n行,或如果n是一个int列表的行的子集。

如果dropna,将取第n个非空行,dropna是Truthy(如果一系列)或'全部','任何'(如果一个DataFrame);这相当于在groupby之前调用dropna(how = dropna)。

参数:

n:int或ints列表

该行的单个第n个值或第n个值的列表

dropna:无或str,可选

在计数哪个行是第n行之前应用指定的dropna操作。需要是无,“任何”或“所有”

例子

>>> df = pd.DataFrame({'A': [1, 1, 2, 1, 2],
...                    'B': [np.nan, 2, 3, 4, 5]}, columns=['A', 'B'])
>>> g = df.groupby('A')
>>> g.nth(0)
     B
A
1  NaN
2  3.0
>>> g.nth(1)
     B
A
1  2.0
2  5.0
>>> g.nth(-1)
     B
A
1  4.0
2  5.0
>>> g.nth([0, 1])
     B
A
1  NaN
1  2.0
2  3.0
2  5.0

指定dropna允许计数忽略NaN

>>> g.nth(0, dropna='any')
     B
A
1  2.0
2  3.0

NaNs表示使用dropna时耗尽的组

>>> g.nth(3, dropna='any')
    B
A
1 NaN
2 NaN

groupby中指定as_index=False会保留原始索引。

>>> df.groupby('A', as_index=False).nth(1)
   A    B
1  1  2.0
4  2  5.0
Scroll To Top