首页 >后端开发 >Python教程 >为什么 Transform 不适用于所有 Groupby 操作?

为什么 Transform 不适用于所有 Groupby 操作?

Barbara Streisand
Barbara Streisand原创
2024-11-11 14:39:03627浏览

Why Doesn't Transform Work for All Groupby Operations?

为什么不是所有的 groupby 操作都可以使用转换

以下代码可以工作:

但以下代码不行:

这样做的原因是应用和转换工作

apply

  • apply() 方法将一个函数应用于 DataFrame 中的每个组。
  • 该函数可以采用单个参数,即组,也可以采用多个参数,即组中的列。
  • 函数可以返回一个值,或者它可以返回一个Series或DataFrame。
  • 如果函数返回一个值,那么结果将是一个Series。
  • 如果函数返回一个Series或DataFrame,那么结果将是DataFrame。

transform

  • transform() 方法将函数应用于组中的每一行。
  • 函数可以采用单个参数,即行,也可以采用多个参数,即行中的列row。
  • 函数必须返回单个值。
  • 函数的结果将是一个 Series。

在示例代码中,apply()方法用于计算每个组的 C 列和 D 列之间的差异的平均值。

  • transform() 方法不能用于计算此值是因为该函数返回一个 Series,而不是单个值。

要使用 Transform() 方法计算每个组的 C 列和 D 列之间的差异的平均值,该函数必须修改为返回单个值。

  • 这可以通过对函数返回的 Series 使用mean() 方法来完成。
  • 以下代码显示了如何执行此操作:

以上是为什么 Transform 不适用于所有 Groupby 操作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn