有没有办法将多个 Pandas 行聚合成具有额外列的单行?

jgk_iles

我正在寻找一种基于列值聚合 Pandas DataFrame 的有效方法,其中根据另一列中的值扩展和命名列。这最好通过一个例子来解释:

这是我的输入数据帧:

  customer device   x   y   z
0     Jack      M   1   2   3
1     Jack      D   4   5   6
2     Jane      M   7   8   9
3     Jane      D  10  11  12

这是我想要的输出:

  customer  x_M  y_M  z_M  x_D  y_D  z_D
0     Jack    1    2    3    4    5    6
1     Jane    7    8    9   10   11   12

如您所见,“聚合”可能是一个误导性词。相反,这些行被“扩展”为基于来自其各自行的另一列命名的列。

在我看来,我将不得不做某种循环——但我希望 Pandas 操作比做同样的事情更有效。谢谢。

鬼佬

只是pivot数据框,然后通过以下方式连接两个级别的列_

>>> out=df.pivot('customer', 'device', ['x', 'y', 'z'])
>>> out.columns=['_'.join(c) for c in out]

输出:

          x_D  x_M  y_D  y_M  z_D  z_M
customer                              
Jack        4    1    5    2    6    3
Jane       10    7   11    8   12    9

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有办法将单行转换为pandas中的列

有没有办法使用 Pandas 将行值拆分为单独的列?

有没有办法将.obj文件加载到Pandas或Numpy中?

有没有办法用 Pandas 的字典将分类变量转换为虚拟变量?

有没有办法将h2oframe转换为pandas dataframe

有没有办法将 Pandas pivot_table 放入 Plotly 表中?

有没有办法将 Pandas 的输出连接到单个多索引中?

有没有办法将基于时间的事件划分为python pandas中的小时模板?

有没有办法将 Pandas 中块的大小定义为可用内存的函数?

有没有办法使用带有 blob 链接的 Pandas?

有没有办法在 Pandas 中自定义清理一行?

有没有办法计算 Pandas 中大于“变量”值的行中值的数量?

有没有办法在 Pandas Dataframe 的多行和多列中对值进行排名?

在 Pandas 的多列中过滤后,有没有办法获取原始行的索引?

有没有办法将一列的多个值加载到sql中的单行的新行中

有没有办法打破带有类别的pandas列以将类别名称作为列名称来分隔真列或假列

有没有办法将先前计算的行值与 Pandas Dataframe 中不同列的总和一起使用?

有没有办法改善pandas框架的爆炸功能?

有没有办法只复制Pandas DataFrame的结构(而不是数据)?

有没有办法识别浮动 NaN 然后在 Pandas 数据框中替换它们?

有没有办法让Pandas ewm在固定窗口上运行?

有没有办法在Python-Pandas中多重过滤Dataframe?

有没有办法使Pandas融化并堆叠以生成相同的输出?

有没有办法获取列表包含的与 Pandas Dataframe 中的值匹配的值?

有没有办法使用 python pandas 分组批量?

有没有办法使用 for 循环在 matplotlib 和 pandas 中快速创建子批次?

有没有办法用 Pandas 中的字符串值替换 True/False?

有没有办法在 Pandas 的 DataFrame 的“get”方法中将键作为变量传递?

有没有办法减少多个类型的参数?