pandas.DataFrame.take#
- DataFrame.take(indices, axis=0, **kwargs)[源代码]#
返回沿指定轴的给定 位置 索引中的元素。
这意味着我们不是根据对象索引属性中的实际值进行索引。我们是根据元素在对象中的实际位置进行索引。
- 参数:
- 索引array-like
一个表示要取哪些位置的整数数组。
- 轴{0 或 ‘index’, 1 或 ‘columns’, None}, 默认 0
选择元素的轴。
0
表示我们选择行,1
表示我们选择列。对于 Series,此参数未使用并默认为 0。- **kwargs
为了与
numpy.take()
兼容。对输出没有影响。
- 返回:
- 与调用者相同类型
一个类似数组的对象,包含从该对象中取出的元素。
参见
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