我有一个名为active
的数据框,它有10个唯一的POS
列值。
然后我对POS
值进行分组,然后对OPW列进行标准化,然后将规范化值存储为单独的列['resid']
。
如果我对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值
答案 0 :(得分:0)
如果没有实际数据,我无法100%确定,但我非常确定这里的问题是您没有汇总数据。
让我们一步一步地完成小组讨论。
当您执行active.groupby('POS')
时,实际发生的是您正在为每个唯一的POS切片数据帧,并按顺序将每个这些sclices传递给应用的函数。
您可以通过使用get_group更好地了解发生的事情(例如:active.groupby(' POS')。get_group(' RF'))
因此,您要将meanNormalizeOPW
功能应用于每个切片。该函数创建列“渣油”的平均归一化值。 为传递的数据框的每一行。然后返回该数据帧,以与传递的形状相似的形状结束。
因此,如果您只是将一个聚合函数添加到返回的df中,它应该可以正常工作。我想在这里你想要一个均值,所以只需将return df
更改为return df.mean()