DataFrame.take(indices, axis=0, is_copy=None, **kwargs) [source]
沿着坐标轴返回给定位置索引中的元素。
这意味着我们没有根据对象的索引属性中的实际值进行索引。我们根据元素在对象中的实际位置建立索引。
参数: | indices :array-like 一个整数数组,指示要take的位置。 axis : 选择元素的轴。 is_copy : 在pandas 1.0之前,
从pandas 1.0开始, take始终返回一个副本, 因此不推荐使用该关键字。 从1.0.0版开始不推荐使用。 **kwargs 与兼容 |
返回值: | taken:与调用者相同的类型 array-like ,包含从对象中获取的元素。 |
例子
>>> df = pd.DataFrame([('falcon', 'bird', 389.0), ... ('parrot', 'bird', 24.0), ... ('lion', 'mammal', 80.5), ... ('monkey', 'mammal', np.nan)], ... columns=['name', 'class', 'max_speed'], ... index=[0, 2, 3, 1]) >>> df name class max_speed 0 falcon bird 389.0 2 parrot bird 24.0 3 lion mammal 80.5 1 monkey mammal NaN
沿轴0将元素置于位置0和3(默认)
注意:实际选择的索引(0和1)与我们选择的索引0和3如何不对应。这是因为我们选择的是第0行和第3行,而不是索引等于0和3的行。
>>> df.take([0, 3]) name class max_speed 0 falcon bird 389.0 1 monkey mammal NaN
沿轴1选取索引1和2的元素(列选择)
>>> df.take([1, 2], axis=1) class max_speed 0 bird 389.0 2 bird 24.0 3 mammal 80.5 1 mammal NaN
我们可以使用从对象末尾开始使用正整数的负整数作为元素的元素,就像Python列表一样
>>> df.take([-1, -2]) name class max_speed 1 monkey mammal NaN 3 lion mammal 80.5