如何在保留所有原始数据的同时汇总一个熊猫数据框?

用户名

我的目标是聚合一个熊猫DataFrame,并按标识字段对行进行分组。值得注意的是,我不仅要收集组的摘要统计信息,还希望将平均值,std等摘要统计信息保留在DataFrame中。我已经通过大量迭代执行了此转换,但是我正在寻找更干净/更Python化的方法。值得注意的是,每个组可能有2个以上的重复项,但所有组将始终具有相同的重复项数。

示例:我将翻译以下格式

df = pd.DataFrame([
    ["group1", 4, 10],
    ["group1", 8, 20],
    ["group2", 6, 30],
    ["group2", 12, 40],
    ["group3", 1, 50],
    ["group3", 3, 60]], 
  columns=['group','timeA', 'timeB'])

print(df)

    group  timeA  timeB
0  group1      4     10
1  group1      8     20
2  group2      6     30
3  group2     12     40
4  group3      1     50
5  group3      3     60

转换为以下格式的df:

target = pd.DataFrame([
    ["group1", 4, 8, 6, 10, 20, 15],
    ["group2", 6, 12, 9, 30, 45, 35],
    ["group3", 1, 3, 2, 50, 60, 55]
], columns = ["group", "timeA.1", "timeA.2", "timeA.mean", "timeB.1", "timeB.2", "timeB.mean"])

print(target)

    group  timeA.1  timeA.2  timeA.mean  timeB.1  timeB.2  timeB.mean
0  group1        4        8           6       10       20          15
1  group2        6       12           9       30       45          35
2  group3        1        3           2       50       60          55

最后,列名到底是什么并不重要,这些只是为了使示例更清楚。谢谢!

编辑:如用户在评论中建议,我尝试从链接的Q / A解决方案,但未成功:

df.insert(0, 'count', df.groupby('group').cumcount())
df.pivot(*df)

TypeError: pivot() takes from 1 to 4 positional arguments but 5 were given
广晃

尝试pivot_table

out = (df.assign(col=df.groupby('group').cumcount()+1)
   .pivot_table(index='group', columns='col', 
                margins='mean', margins_name='mean')
   .drop('mean')
)
out.columns = [f'{x}.{y}' for x,y in out.columns]

输出:

        timeA.1  timeA.2  timeA.mean  timeB.1  timeB.2  timeB.mean
group                                                             
group1      4.0      8.0         6.0       10       20          15
group2      6.0     12.0         9.0       30       40          35
group3      1.0      3.0         2.0       50       60          55

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

合并2个列表,同时保留原始数据

来自分类Dev

如何在保留原始数据帧的同时获取组级统计信息?

来自分类Dev

熊猫:写入原始数据框。SettingWithCopyWarning

来自分类Dev

熊猫:如何在一个列上合并具有相同列名的多个数据框?

来自分类Dev

如何将一个熊猫数据框中的所有小时值与另一个数据框中的年值相乘?

来自分类常见问题

如何从另一个数据框更新带有集合的熊猫数据框

来自分类Dev

如何从另一个数据框更新带有集合的熊猫数据框

来自分类Dev

如何仅保留基于熊猫数据框中某些列的最后一个条目?

来自分类Dev

转换数据框列并保留原始数据

来自分类Dev

将原始数据转换为熊猫数据框?

来自分类Dev

用熊猫填充信号时保留原始数据点

来自分类Dev

如何在熊猫数据框上使用.size函数,同时仍将所有列保留在组中

来自分类Dev

熊猫,将数据框中的所有数值乘以一个常数

来自分类Dev

熊猫:为多索引数据框的所有行分配一个列表

来自分类Dev

删除熊猫数据框中第一个空格之后的所有内容

来自分类Dev

熊猫,将数据框中的所有数值乘以一个常数

来自分类Dev

如何计算熊猫数据框中每组的行数并将其添加到原始数据

来自分类Dev

将两个数据帧合并为一个,同时保留原始行号

来自分类Dev

如何使用两个熊猫数据框创建一个新数据框,其中一个数据框具有特定的行?

来自分类Dev

如何在保留索引和重命名键的同时转置熊猫数据框

来自分类Dev

当您只希望一个匹配项时,如何在熊猫数据框中选择用户的最小记录,同时考虑多个匹配项

来自分类Dev

当您只希望一个匹配项时,如何在熊猫数据框中选择用户的最小记录,同时考虑多个匹配项

来自分类Dev

熊猫-将选定的列分配回原始数据框

来自分类Dev

熊猫将应用结果转换回原始数据框

来自分类Dev

熊猫:确定从唯一行到原始数据框的映射

来自分类Dev

如何在保持数据原始格式的同时计算熊猫数据框中一组列的百分比

来自分类Dev

如何在大熊猫中组合并形成一个复杂的数据框

来自分类Dev

如何在熊猫数据框的列中存储一个numpy数组?

来自分类Dev

如何在熊猫数据框中找到最后一个事件的日期

Related 相关文章

  1. 1

    合并2个列表,同时保留原始数据

  2. 2

    如何在保留原始数据帧的同时获取组级统计信息?

  3. 3

    熊猫:写入原始数据框。SettingWithCopyWarning

  4. 4

    熊猫:如何在一个列上合并具有相同列名的多个数据框?

  5. 5

    如何将一个熊猫数据框中的所有小时值与另一个数据框中的年值相乘?

  6. 6

    如何从另一个数据框更新带有集合的熊猫数据框

  7. 7

    如何从另一个数据框更新带有集合的熊猫数据框

  8. 8

    如何仅保留基于熊猫数据框中某些列的最后一个条目?

  9. 9

    转换数据框列并保留原始数据

  10. 10

    将原始数据转换为熊猫数据框?

  11. 11

    用熊猫填充信号时保留原始数据点

  12. 12

    如何在熊猫数据框上使用.size函数,同时仍将所有列保留在组中

  13. 13

    熊猫,将数据框中的所有数值乘以一个常数

  14. 14

    熊猫:为多索引数据框的所有行分配一个列表

  15. 15

    删除熊猫数据框中第一个空格之后的所有内容

  16. 16

    熊猫,将数据框中的所有数值乘以一个常数

  17. 17

    如何计算熊猫数据框中每组的行数并将其添加到原始数据

  18. 18

    将两个数据帧合并为一个,同时保留原始行号

  19. 19

    如何使用两个熊猫数据框创建一个新数据框,其中一个数据框具有特定的行?

  20. 20

    如何在保留索引和重命名键的同时转置熊猫数据框

  21. 21

    当您只希望一个匹配项时,如何在熊猫数据框中选择用户的最小记录,同时考虑多个匹配项

  22. 22

    当您只希望一个匹配项时,如何在熊猫数据框中选择用户的最小记录,同时考虑多个匹配项

  23. 23

    熊猫-将选定的列分配回原始数据框

  24. 24

    熊猫将应用结果转换回原始数据框

  25. 25

    熊猫:确定从唯一行到原始数据框的映射

  26. 26

    如何在保持数据原始格式的同时计算熊猫数据框中一组列的百分比

  27. 27

    如何在大熊猫中组合并形成一个复杂的数据框

  28. 28

    如何在熊猫数据框的列中存储一个numpy数组?

  29. 29

    如何在熊猫数据框中找到最后一个事件的日期

热门标签

归档