按熊猫中的许多列分组

误导

我基本上有一个数据集,如下所示

Col1  Col2  Col3  Count
A      B     1      50
A      B     1      50
A      C     20     1
A      D     17     2
A      E     5      70
A      E     15     20

假设它称为数据。我基本上是这样做的data.groupby(by=['Col1', 'Col2', 'Col3'], as_index=False, sort=False).sum(),应该给我这个:

Col1  Col2  Col3  Count
A      B     1      100
A      C     20     1
A      D     17     2
A      E     5      70
A      E     15     20

但是,这将返回一个空的数据集,该数据集确实具有我想要的列,但没有行。唯一的警告是by参数是动态计算的,而不是固定的(这是因为列可能会更改,尽管Count始终会存在)。

关于为什么会失败以及如何解决的任何想法?

编辑:进一步的搜索显示,pandas的groupby删除了在任何列上具有NULL的行。这对我来说是个问题,因为每一列都可能为NULL。因此,实际的问题是:是否有任何合理的方式来处理NULL并仍使用groupby?

西蒙

很想在这里进行更正,但是我不确定是否有一种干净的方法来处理丢失的数据。如您所述,Pandas只会从groupby中排除包含NaN值的行

您可以用超出数据范围的值来填充NaN值:

data = pd.read_csv("c:/Users/simon/Desktop/data.csv")

data.fillna(-999, inplace=True)

new = data.groupby(by=['Col1', 'Col2', 'Col3'], as_index=False, sort=False).sum()

这很麻烦,因为它不会将这些值加到正确的分组依据中。但是没有一种真正的方法来分组缺少的东西

另一种方法可能是用一些适合该变量的缺失值分别填充每一列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

在熊猫中按周分组

来自分类Dev

C#数据表按许多列分组

来自分类Dev

按熊猫中的多个条件分组

来自分类Dev

按除熊猫中的一个索引列以外的所有内容分组

来自分类Dev

如何在熊猫中按索引和列分组

来自分类Dev

熊猫按列大小总和分组

来自分类Dev

绘制按列分组的熊猫数据框

来自分类Dev

按两列分组,并计算每种组合在熊猫中的出现次数

来自分类Dev

按列分组并获取分组熊猫的平均值

来自分类Dev

熊猫按列表中的值分组(串联)

来自分类Dev

按多列填充缺少的年份分组并按顺序在熊猫中水平显示多列

来自分类Dev

按多列分组,并对熊猫中其他列的值进行透视和计数

来自分类Dev

熊猫按多列分组并在行中获取输出

来自分类Dev

从熊猫数据框中删除许多列

来自分类Dev

熊猫在列级别按日期时间分组

来自分类Dev

熊猫按列和计数值分组

来自分类Dev

按2列分组并打印熊猫中每个组合的数据

来自分类Dev

在熊猫数据框中按条件分组

来自分类Dev

通过包括按条件分组的列在熊猫中分组

来自分类Dev

熊猫按列中的每个值分组

来自分类Dev

熊猫:按两列或更多列分组

来自分类Dev

在熊猫中,当按另一列分组时,如何查找自按值改变的列以来的时间?

来自分类Dev

在许多小组中优化大熊猫分组比

来自分类Dev

C#数据表按许多列分组

来自分类Dev

熊猫按单个列中的多个值分组

来自分类Dev

熊猫:按列元素分组

来自分类Dev

按熊猫数据框中的字段分组

来自分类Dev

熊猫按多列分组

来自分类Dev

将熊猫数据框列中的单词按另一列分组以获得频率/计数