Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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 - Fatal编程技术网

Python 熊猫:按功能分组和聚合

Python 熊猫:按功能分组和聚合,python,pandas,Python,Pandas,假设我有一个具有以下值的数据帧: name start end description 0 ag 20 30 None 1 bgb 21 111 'a' 2 cdd 31 101 None 3 bgb 17 19 'Bla' 4 ag 20 22 None 我想通过g

假设我有一个具有以下值的数据帧:

    name     start    end     description
0    ag       20       30       None
1    bgb      21       111      'a'
2    cdd      31       101      None
3    bgb      17       19       'Bla'
4    ag       20       22       None
我想通过
groupby
name,然后获得(
end
-
start
)值的平均值

我可以使用
mean
df.groupby(['name'],as_index=False)。mean()


但是我怎样才能给平均值函数两列的减法(最后一列)?

你可以减去列,然后按列分组
df['name']

df1 = df['end'].sub(df['start']).groupby(df['name']).mean().reset_index(name='diff')
print (df1)
 name  diff
0   ag     6
1  bgb    46
2  cdd    70
新专栏
diff
的另一个想法:

df1 = (df.assign(diff = df['end'].sub(df['start']))
         .groupby('name', as_index=False)['diff']
         .mean())
print (df1)
  name  diff
0   ag     6
1  bgb    46
2  cdd    70