【发布时间】:2016-02-28 04:36:02
【问题描述】:
假设我有数据:
pd.DataFrame({'index': ['a','b','c','a','b','c'], 'column': [1,2,3,4,1,2]}).set_index(['index'])
给出:
column
index
a 1
b 2
c 3
a 4
b 1
c 2
然后要获得每个子组的平均值:
df.groupby(df.index).mean()
column
index
a 2.5
b 1.5
c 2.5
但是,在不不断循环和切片数据的情况下,我一直在努力实现的目标是如何获得子组对的平均值?
例如,a & b 的平均值是 2?好像他们的价值观是结合在一起的。
输出类似于:
column
index
a & a 2.5
a & b 2.0
a & c 2.5
b & b 1.5
b & c 2.0
c & c 2.5
最好这将涉及操纵“groupby”中的参数,但事实上,我不得不求助于循环和切片。能够在某个时候构建子组的所有组合。
【问题讨论】:
标签: python pandas group-by dataframe grouping