关于groupby函数的系列查询

时间:2015-01-21 07:50:46

标签: python pandas group-by

我有一个名为active的数据框,它有10个唯一的POS列值。 enter image description here然后我对POS值进行分组,然后对OPW列进行标准化,然后将规范化值存储为单独的列['resid']enter image description here如果我对POS值进行分组,则新的活动数据框的POS列不应只包含唯一的POS

例如:

df2 = pd.DataFrame({'X' : ['B', 'B', 'A', 'A'], 'Y' : [1, 2, 3, 4]})
print df2

df2.groupby(['X']).sum()

我得到这样的输出:

    Y
X   
A   7
B   3

在我的例子中,我不应该得到一个只有下面提到的唯一Pos值的列?

POS 其他栏
Rf值
2B值
LF值
2B值
OF值

1 个答案:

答案 0 :(得分:0)

如果没有实际数据,我无法100%确定,但我非常确定这里的问题是您没有汇总数据。

让我们一步一步地完成小组讨论。

当您执行active.groupby('POS')时,实际发生的是您正在为每个唯一的POS切片数据帧,并按顺序将每个这些sclices传递给应用的函数。

您可以通过使用get_group更好地了解发生的事情(例如:active.groupby(' POS')。get_group(' RF'))

因此,您要将meanNormalizeOPW功能应用于每个切片。该函数创建列“渣油”的平均归一化值。 为传递的数据框的每一行。然后返回该数据帧,以与传递的形状相似的形状结束。

因此,如果您只是将一个聚合函数添加到返回的df中,它应该可以正常工作。我想在这里你想要一个均值,所以只需将return df更改为return df.mean()