我是熊猫的新手。我有以下数据集。 把数据集想象成公司的部门(k1)和人员(k2)。你知道吗
dframe = pd.DataFrame({'k1': ['X','X','Y','Y','Z','Z'],
...: 'k2': ['P1','P2','P3','P4','P5','P6'],
...: 'dataset1': np.random.randn(6)})
...:
如果我取按部门/k1分组的平均值,我得到以下结果
dataset1
k1
X 0.153825
Y -0.648500
Z 1.133334
如果我取按人/k2分组的平均值,我得到以下结果
In [6]: dframe.groupby('k2').mean()
Out[6]:
dataset1
k2
P1 1.595455
P2 -1.287805
P3 0.211858
P4 -1.508859
P5 1.350336
P6 0.916332
我的问题是,如何只过滤按people/'k2'分组的平均值,它大于dept/'k1'所属的平均值。e、 g.P1平均值大于其所属的X平均值
Out[6]:
dataset1
k2
P1 1.595455
P3 0.211858
P5 1.350336
示例(将
P6
更改为P5
):首先通过^{} 和^{} 创建新列:
然后通过^{} } 进行聚合,也有必要在
mean
和^{k1
列中添加k1
列,以避免相同的k2
在另一个k1
中输出错误。你知道吗上次按^{} 或^{} 筛选:
如果要删除第一级} :
MultiIndex
添加^{对于索引中的列,请使用:
相关问题 更多 >
编程相关推荐