如何忽略熊猫中满足测试条件的分组值的平均值?

时间:2019-05-31 23:10:20

标签: python pandas

我有一个数据框,我想对它应用groupby()。mean(),但是需要应用测试,并忽略那些符合条件的值。

如下表所示,我想按面积分组然后平均结果。 但是,我想忽略在列名中前n个字符相同的列中出现的0对。

我认为可以使用正则表达式和迭代来完成此操作,但我看不到。

area    art   ark   bag  bar

area1   4     8     2    7
area1   0     0     6    3
area2   4     4     4    1
area2   6     2     0    0
area3   6     1     1    8
area3   7     0     0    3

在上表中(n = 2),因为(art&ark)和(bag&bar)符合列名测试,所以应该忽略area1和area2 0对。

但是,由于(ark&bag)不共享(n = 2)个初始字符,因此不应该忽略area3对。

我正在寻找的输出如下

area      ark         art         bag        bar

area1      4           8        (2+6/2)     (7+3/2)
area2   (4+6/2)     (4+2/2)        4          1
area3   (6+7/2)     (1+0/2)     (1+0/2)     (8+3/2)

任何帮助或想法将不胜感激。

编辑:两种测试仅需考虑按字母顺序排序的相邻列(假设数据框已采用这种格式)

0 个答案:

没有答案