Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数据帧中多列的聚合 数据: 我的代码: 问题:_Python_Pandas_Dataframe_Group By_Pandas Groupby - Fatal编程技术网

Python 数据帧中多列的聚合 数据: 我的代码: 问题:

Python 数据帧中多列的聚合 数据: 我的代码: 问题:,python,pandas,dataframe,group-by,pandas-groupby,Python,Pandas,Dataframe,Group By,Pandas Groupby,如何在函数“f1”中使用多个列?(此函数需要groupby对象的两列) 预期结果: agg函数中的嵌套字典无效。您可以使用groupby.apply并为每个组返回一个正确索引的序列,以便重命名: name1 name2 1 12.0 4 2 13.5 6.5 3 15.5 8.5 agg函数中的嵌套字典无效。您可以使用groupby.apply并为每个组返回一个正确索引的序列,以便重命名: name1 name2 1 12.0 4

如何在函数“f1”中使用多个列?(此函数需要groupby对象的两列)

预期结果:
agg
函数中的嵌套字典无效。您可以使用
groupby.apply
并为每个组返回一个正确索引的序列,以便重命名:

     name1  name2
1    12.0   4
2    13.5   6.5
3    15.5   8.5

agg
函数中的嵌套字典无效。您可以使用
groupby.apply
并为每个组返回一个正确索引的序列,以便重命名:

     name1  name2
1    12.0   4
2    13.5   6.5
3    15.5   8.5

您可以将
agg
lambda
一起使用,如下所示:

(z.groupby('a')
  .apply(lambda g: pd.Series({
    'name1': g.c[g.b > 4].mean(),
    'name2': g.b.mean()
})))

#  name1    name2
#a      
#1  12.0    4.0
#2  13.5    6.5
#3  15.5    8.5
您必须手动重命名列:

g = z.groupby('a').agg(lambda x: [x[(x.b > 4)].c.mean(), x.b.mean()])


您可以将
agg
lambda
一起使用,如下所示:

(z.groupby('a')
  .apply(lambda g: pd.Series({
    'name1': g.c[g.b > 4].mean(),
    'name2': g.b.mean()
})))

#  name1    name2
#a      
#1  12.0    4.0
#2  13.5    6.5
#3  15.5    8.5
您必须手动重命名列:

g = z.groupby('a').agg(lambda x: [x[(x.b > 4)].c.mean(), x.b.mean()])

print(g)
   name1  name2
a              
1   12.0    4.0
2   13.5    6.5
3   15.5    8.5