pandas.DataFrame.take#
- DataFrame.take(indices, axis=0, is_copy=None, **kwargs)[源代码]#
返回给定元素中的元素 位置 沿轴的索引。
这意味着我们不会根据对象的索引属性中的实际值进行索引。我们根据元素在对象中的实际位置进行索引。
- 参数
- indices类似阵列的
指示要采取哪些位置的整型数组。
- axis{0或‘index’,1或‘Columns’,无},默认0
要在其上选择元素的轴。
0
意味着我们正在选择行,1
意味着我们正在选择列。- is_copy布尔尔
在Pandas1.0之前,
is_copy=False
可以指定以确保返回值是实际副本。从Pandas1.0开始,take
始终返回副本,因此该关键字已弃用。1.0.0 版后已移除.
- **kwargs
为了与
numpy.take()
。对输出没有影响。
- 退货
- taken与呼叫者类型相同
包含从对象获取的元素的类似数组。
参见
DataFrame.loc
按标签选择DataFrame的子集。
DataFrame.iloc
按位置选择DataFrame的子集。
numpy.take
沿轴从数组中获取元素。
示例
>>> 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