Python pandas.DataFrame.take函数方法的使用

Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.take方法的使用。

DataFrame.take(indices, axis=0, is_copy=None, **kwargs) [source]

沿着坐标轴返回给定位置索引中的元素。

这意味着我们没有根据对象的索引属性中的实际值进行索引。我们根据元素在对象中的实际位置建立索引。

参数:

indices :array-like

一个整数数组,指示要take的位置。

axis {0 或 ‘index’, 1 或 ‘columns’, None}, 默认为 0

选择元素的轴。0表示选择行,1表示选择列。

is_copy bool

在pandas 1.0之前,

is_copy=False可以指定以确保返回值是实际副本。

从pandas 1.0开始, take始终返回一个副本,

因此不推荐使用该关键字。

从1.0.0版开始不推荐使用。

**kwargs

与兼容numpy.take()。对输出没有影响。

返回值:

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

文档pandas.DataFrame.take

推荐阅读
cjavapy编程之路首页