Pandas DataFrame.apply()2024 年 8 月 29 日 | 阅读 3 分钟 Pandas 的 apply() 函数允许用户传递一个函数,并将其应用于 Pandas series 的每个值。此函数提高了 panda 库的功能,因为它有助于根据所需的条件分离数据。 因此,它可以有效地用于数据科学和机器学习。 要传递给函数的对象是 Series 对象,其索引是 DataFrame 的索引,即 axis=0 或 DataFrame 的列,即 axis=1。 默认情况下,result_type=None,最终返回类型是从应用函数的返回类型推断出来的。 否则,它取决于 result_type 参数。 语法参数- func: 要应用于每列或每行的函数。
- axis: {0 或 'index', 1 或 'columns'},默认值为 0
它是应用函数的轴。 它可以有两个值- 0 或 'index': 它将函数应用于每一列。
- 1 或 'columns': 它将函数应用于每一行。
- broadcast: 这是一个可选参数,返回布尔值。
仅与聚合函数相关 False 或 None: 它返回一个 Series,其长度将是索引的长度或基于 axis 参数的列数。 True: 结果将广播到框架的原始形状; 将保留原始索引和列。 - raw: bool, 默认值 False
False: 它将每一行或每一列作为 Series 传递给函数。 True: 传递的函数将收到一个 ndarray 对象。 如果您正在应用 NumPy 归约函数,它将获得更好的性能。 - reduce: bool 或 None,默认值 None
它尝试应用归约过程。 如果 DataFrame 为空,则 apply 将使用 reduce 来确定结果应该是 Series 还是 DataFrame。 默认情况下,reduce=None,apply 的返回值将通过在空 Series 上调用 func 来猜测(注意:func 引发的所有异常在猜测时都会被忽略)。 如果 reduce=True,则始终返回 Series,而 reduce=False,则始终返回 DataFrame。 - result_type: {'expand', 'reduce', 'broadcast', None},默认值 None
这些仅在 axis=1(列)时起作用 'expand': 它定义了将转换为列的类列表结果。 'reduce': 它是 'expand' 的反面。 如果可能,它会返回一个 Series,而不是展开类列表结果。 'broadcast': 它将结果广播到 DataFrame 的原始形状,原始索引和列将被保留。 默认值 None 取决于应用函数的返回值,即作为这些 Series 返回的类列表结果。 如果 apply 返回一个 Series,它会扩展到列。 - args: 它是一个位置参数,除了 array/series 之外,还要传递给 func。
- **kwds: 它是一个可选的关键字参数,用于作为关键字参数传递给 func。
返回值它返回沿 DataFrame 的给定轴应用 func 的结果。 示例输出 A B
0 2 7
1 2 7
2 2 7
3 2 7
|