pandas.core.groupby.SeriesGroupBy.take #

系列分组依据。take ( indexs , axis = _NoDefault.no_default , ** kwargs ) [来源] #

返回每组中给定位置索引中的元素。

这意味着我们没有根据对象索引属性中的实际值进行索引。我们根据元素在对象中的实际位置进行索引。

如果某个组不存在请求的索引,则此方法将引发。要获得忽略不存在索引的类似行为,请参阅 SeriesGroupBy.nth()

参数
类似数组的索引

一个整数数组,指示在每组中采取哪些位置。

{0 或 'index', 1 或 'columns', None}, 默认 0

选择元素的轴。0意味着我们正在选择行,1意味着我们正在选择列。对于SeriesGroupBy,此参数未使用,默认为 0。

自版本 2.1.0 起已弃用:对于 axis=1,改为对基础对象进行操作。否则,axis 关键字不是必需的。

**夸格

为了与numpy.take().对输出没有影响。

返回
系列

包含从每个组中获取的元素的系列。

也可以看看

Series.take

沿轴从系列中获取元素。

Series.loc

通过标签选择 DataFrame 的子集。

Series.iloc

按位置选择 DataFrame 的子集。

numpy.take

沿轴从数组中取出元素。

SeriesGroupBy.nth

与 take 类似,如果索引不存在则不会引发。

例子

>>> df = pd.DataFrame([('falcon', 'bird', 389.0),
...                    ('parrot', 'bird', 24.0),
...                    ('lion', 'mammal', 80.5),
...                    ('monkey', 'mammal', np.nan),
...                    ('rabbit', 'mammal', 15.0)],
...                   columns=['name', 'class', 'max_speed'],
...                   index=[4, 3, 2, 1, 0])
>>> df
     name   class  max_speed
4  falcon    bird      389.0
3  parrot    bird       24.0
2    lion  mammal       80.5
1  monkey  mammal        NaN
0  rabbit  mammal       15.0
>>> gb = df["name"].groupby([1, 1, 2, 2, 2])

在每组中沿轴 0 获取位置 0 和 1 处的元素(默认)。

>>> gb.take([0, 1])
1  4    falcon
   3    parrot
2  2      lion
   1    monkey
Name: name, dtype: object

我们可以使用负整数作为正索引,从对象的末尾开始获取元素,就像 Python 列表一样。

>>> gb.take([-1, -2])
1  3    parrot
   4    falcon
2  0    rabbit
   1    monkey
Name: name, dtype: object