Python迭代行的每个子组并应用函数

时间:2019-05-24 16:51:41

标签: python pandas-groupby

我需要组合子组的所有迭代,以将函数应用于并返回单个值输出以及连接的字符串项,这些字符串项标识了哪些迭代已循环。

我了解如何使用pd.groupby,可以设置level=0level=1,然后致电agg{'LOOPED_AVG':'mean'}。但是,我需要按子组对行进行分组(或子集),然后合并一次迭代中的所有行,然后对该函数应用该函数。

输入数据表:

MAIN_GROUP  SUB_GROUP   CONCAT_GRP_NAME X_1
A   1   A1  9
A   1   A1  6
A   1   A1  3
A   2   A2  7
A   3   A3  9
B   1   B1  7
B   1   B1  3
B   2   B2  7
B   2   B2  8
C   1   C1  9

所需结果:

LOOP_ITEMS  LOOPED_AVG
A1 B1 C1    6.166666667
A1 B2 C1    7
A2 B1 C1    6.5
A2 B2 C1    7.75
A3 B1 C1    7
A3 B2 C1    8.25

1 个答案:

答案 0 :(得分:1)

假设您有三个列对,则可以应用以下内容,对于更多的列对,请相应地调整脚本。我想给您一种解决问题的方法,这可能不是最有效的方法,但是它提供了一个起点。

@HostListener('document:click', ['$event']) onClick(event: MouseEvent) {

  // get the parent component tag
  const parentComponent = this.eRef.nativeElement.parentNode.parentNode;

  for (let i = 0, j = parentComponent.length; i < j; i++) {
    if (event.target == parentComponent[i]) {
        console.log(parentComponent[i]);
    }
  }