当前位置: 首页 > 网络应用技术

由于熊猫的较低版本,如果无法实现此API,该怎么办?

时间:2023-03-09 13:19:35 网络应用技术

  指南:几天前,我发表了一条推文,该推文在PANDAS -expode中分享了非常有用的API。然而,'!好吧,有用的事情总是很细腻,预计该原则不会适用于代码。因此,今天,我们将基于此扩展分析,然后输出一点熊猫干货...

  问题描述:有PANDAS数据框架数据结构的一列是一种集合类型(即包含多个子元素),并且每个子元素都需要扩展到一行中。这种情况在Pandas中使用Explodeapi非常易于使用,简单且高效。问题。

  爆炸函数在版本0.25中添加,而无视

  由于无法直接使用爆炸,因此您必须尝试在其他方法中实现相同的效果。执行爆炸后的目标效应是:

  在探索执行后观察目标效应,实际上,在SQL中存在一个经典问题 - 转弯的味道。换句话说,B列实际上可以被视为多个列的聚合效应,然后可以将列转移到根据多个专栏。根据这个想法,可以将问题分解为两个子问题:

  这两个子问题实际上在熊猫的丰富API中相对简单。例如,单列分为多列,因此,实际上,您可以直接使用PD。按照下图所示。所使用的提示的一个是:为了保留其他列,可以是首先放置在索引上,最后可以重置索引。

  实际上,在这一点上,实际上完成了一个列到多列的转换。其中,由于每列包含不同数量的元素,因此扩展的长度不一致。熊猫将保留最长的长度并填充其余的空值(正值为正值(由于存在空的值,原始整数类型会自动更改为十进制类型)。值得一提的是,这里的空值将在这里在后续处理中非常有用。

  根据完成多列,下面要做的是转身,以通过多个信息转换来显示。这是sql.an api:stack!堆栈的原始含义是堆栈的含义。将其放入熊猫中正在堆叠元素 - 从宽表转换为长米。在堆栈的官方评论中,这意味着数据FRAM已转换为多层层索引。

  好的,可以预见的是,基于数据框的多个列执行堆栈,这将达到重新堆叠并获得系列的效果。具体说明,结果如下:

  同时,我们还发现,不仅列了列压缩线,而且还要过滤原始的NAN空空值,这是一个意外的收获。实际上,这并不奇怪,因为堆栈设置了默认值参数dropna = true。在这一点上,基本上已经实现了预定的函数,其余的只能重置为数据列。当然,重置后,将在此处添加两列数据。最初需要的另一列是多余的。它只需要放下它。当然,还需要更改列名。完整的代码如下:

  尽管上述实现不像爆炸那样优雅,但它已经达到了相同的效果,并且实际上更加充实,不是!

  原始:https://juejin.cn/post/71009451477988382