maxframe.dataframe.DataFrame.take#
- DataFrame.take(indices, axis=0, **kwargs)#
返回沿指定轴的给定*位置*索引处的元素。
这意味着我们不是根据对象索引属性中的实际值进行索引,而是根据元素在对象中的实际位置进行索引。
- 参数:
indices (array-like) -- 一个整数数组,指示要获取哪些位置的元素。
axis ({0 or 'index', 1 or 'columns', None}, default 0) -- 选择元素的轴。
0表示选择行,1表示选择列。对于 Series 此参数未使用,默认为 0。**kwargs -- 与
numpy.take()兼容。对输出没有影响。
- 返回:
一个类数组对象,包含从原对象中获取的元素。
- 返回类型:
same type as caller
参见
DataFrame.loc通过标签选择 DataFrame 的子集。
DataFrame.iloc通过位置选择 DataFrame 的子集。
numpy.take沿指定轴从数组中获取元素。
示例
>>> import maxframe.tensor as mt >>> import maxframe.dataframe as md >>> df = md.DataFrame([('falcon', 'bird', 389.0), ... ('parrot', 'bird', 24.0), ... ('lion', 'mammal', 80.5), ... ('monkey', 'mammal', mt.nan)], ... columns=['name', 'class', 'max_speed'], ... index=[0, 2, 3, 1]) >>> df.execute() 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]).execute() name class max_speed 0 falcon bird 389.0 1 monkey mammal NaN
沿轴 1(列选择)获取索引 1 和 2 处的元素。
>>> df.take([1, 2], axis=1).execute() class max_speed 0 bird 389.0 2 bird 24.0 3 mammal 80.5 1 mammal NaN
我们可以使用负整数表示正索引,从对象末尾开始获取元素,就像 Python 列表一样。
>>> df.take([-1, -2]).execute() name class max_speed 1 monkey mammal NaN 3 lion mammal 80.5