pandas.core.groupby.SeriesGroupBy.nth # 属性 SeriesGroupBy。第 n 个[来源] # 如果 n 是 int,则取每组中的第 n 行,否则取行的子集。 可以是调用,也可以是索引。 dropna 不适用于索引表示法。索引表示法接受逗号分隔的整数和切片列表。 如果 dropna,将取第 n 个非空行,dropna 是 'all' 或 'any';这相当于在 groupby 之前调用 dropna(how=dropna) 。 参数: n整数、切片或整数和切片的列表行的单个第 n 个值或第 n 个值或切片的列表。 版本 1.4.0 中更改:添加了切片和包含切片的列表。添加了索引符号。 dropna {'any', 'all', None}, 默认 None在计算哪一行是第 n 行之前应用指定的 dropna 操作。仅当 n 为 int 时才受支持。 返回: 系列或数据框每组内的第 N 个值。 也可以看看 Series.groupby将函数 groupby 应用于系列。 DataFrame.groupby将函数 groupby 应用于 DataFrame 的每一行或每一列。 例子 >>> 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) A B 0 1 NaN 2 2 3.0 >>> g.nth(1) A B 1 1 2.0 4 2 5.0 >>> g.nth(-1) A B 3 1 4.0 4 2 5.0 >>> g.nth([0, 1]) A B 0 1 NaN 1 1 2.0 2 2 3.0 4 2 5.0 >>> g.nth(slice(None, -1)) A B 0 1 NaN 1 1 2.0 2 2 3.0 也可以使用索引符号 >>> g.nth[0, 1] A B 0 1 NaN 1 1 2.0 2 2 3.0 4 2 5.0 >>> g.nth[:-1] A B 0 1 NaN 1 1 2.0 2 2 3.0 指定dropna允许忽略NaN值 >>> g.nth(0, dropna='any') A B 1 1 2.0 2 2 3.0 当指定的数据n大于任何组时,返回一个空的DataFrame >>> g.nth(3, dropna='any') Empty DataFrame Columns: [A, B] Index: []