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