groupby函数的一系列查询
A series query on groupby function
我有一个名为 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 值
如果没有实际数据,我不能 100% 确定,但我很确定这里的问题是您没有汇总数据。
让我们一步一步地完成分组。
当您执行 active.groupby('POS')
时,实际发生的是您正在为每个唯一的 POS 切片数据帧,并将这些切片中的每一个依次传递给应用的函数。
您可以使用 get_group 更好地了解正在发生的事情(例如:active.groupby('POS').get_group('RF') )
因此,您将 meanNormalizeOPW
函数应用于每个切片。该函数为传递的数据帧 的每一行创建列 'resid' 的平均归一化值。而你 return 那个数据框,以与传递的形状相似的形状结尾。
因此,如果您只是将聚合函数添加到 returned df,它应该可以正常工作。我猜你想要一个平均值,所以只需将 return df
更改为 return df.mean()
我有一个名为 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 值
如果没有实际数据,我不能 100% 确定,但我很确定这里的问题是您没有汇总数据。
让我们一步一步地完成分组。
当您执行 active.groupby('POS')
时,实际发生的是您正在为每个唯一的 POS 切片数据帧,并将这些切片中的每一个依次传递给应用的函数。
您可以使用 get_group 更好地了解正在发生的事情(例如:active.groupby('POS').get_group('RF') )
因此,您将 meanNormalizeOPW
函数应用于每个切片。该函数为传递的数据帧 的每一行创建列 'resid' 的平均归一化值。而你 return 那个数据框,以与传递的形状相似的形状结尾。
因此,如果您只是将聚合函数添加到 returned df,它应该可以正常工作。我猜你想要一个平均值,所以只需将 return df
更改为 return df.mean()