- Pandas具有丰富的功能让我们探索,
transform
就是其中之一,利用它可以高效地汇总数据。 - Python Data Science Handbook 是一个关于pandas的优秀资源。
- 在该书的描述中,
transform
是与groupby
(pandas中最有用的操作之一)组合使用的。一般情况下,我们在groupby
之后使用aggregate , filter 或 apply
来汇总数据,transform
可能稍难理解。 - 该书对应的github资源 jupyter notebooks里的内容可能对理解transform的独特作用有所帮助。
aggregation会返回数据的缩减版本,而transformation能返回完整数据的某一变换版本供我们重组。这样的transformation,输出的形状和输入一致。一个常见的例子是通过减去分组平均值来居中数据。
- 接下来,我们利用简单的11行销售数据实际做一个其它用途的例子来掌握
transform
。
实践
- 加载数据
- 查看数据
- 可以看到数据包含了不同的订单(order),以及订单里的不同商品的数量(quantity)、单价(unit price)和总价(ext price)
- 现在我们的任务是为数据表添加一列,表示不同商品在所在订单的价钱占比。
- 首先我们要获得每个订单的总花费。
groupby
可以实现。
- 这些新得到的数据如何与原始数据帧结合呢?
- 我们实现了目标(还多加了一列订单总额),但是步骤比较多,有没有更好的办法呢?——主角出场:)
Transform
- 我们先试下
- 不再是只显示3个订单的对应项,而是保持了与原始数据集相同数量的项目,这样就很好继续了。这就是
transform
的独特之处。
- 甚至可以一步:
66人点赞
作者:treelake 链接:https://www.jianshu.com/p/509d7b97088c 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。