在熊猫中分组或转移?

时间:2014-10-22 21:18:53

标签: python pandas

有人可以指导我汇总大熊猫数据吗?

我有一个庞大的文件,其中包含来自大约数千名不同的人和20多个不同地点的每个时间戳调查数据。每项调查都有四个级别的“原因”,我列为Driver1,Driver2(有4个)。然后有一个列来计算调查,每个问题都有几列。由于原始数据的每一行都是单独的调查,因此计数始终为1,分数可以是-1,0,1。

       Date        Location    Person  Driver1  Driver2  Surveys   Question1   
-----------------------------------------------------------------------------
 4/30/2014 21:41    a123b      xyz234   Quest    Ion       1         -1

我的目标是:

  • 通过汇总每日总调查数(总和)和每个问题的平均分数
  • 来创建新的原始数据
  • 这应该是每个位置以及每个人和每个驱动程序的每日(无时间戳)级别(4级)

         Date    Location   Person  Driver1  Driver2  Surveys   Question1   
    -----------------------------------------------------------------------------
     4/30/2014    a123b     xyz234   Quest    Ion       3        0.33
     4/30/2014    a123b     xyz234   Quest    Bear      6         1 
    

这将大大减少文件大小,但仍然可以提供详细数据。我想知道每个人每天为调查司机的表现,以便跟踪每月/每周的进度。

我认为它必须是这样的:

df2 = df.groupby['Date','Location','Person','Driver1','Driver2','Driver3','Driver4']
df2['Surveys'].sum()
df2['Question1'].mean()

1 个答案:

答案 0 :(得分:1)

你关闭了。你需要围绕那个groupby的一些()

df2 = df.groupby(['Date','Location','Person','Driver1','Driver2','Driver3','Driver4'])

然后,如果您想要

,则将接下来的两行合并为一行
df2.agg({'Surveys' : 'sum', 'Question1' : 'mean'})