Python 是否为具有特定值的行获取列平均值?

Python 是否为具有特定值的行获取列平均值?,python,pandas,numpy,Python,Pandas,Numpy,我无法根据不同列的值获得熊猫中某列的平均值。比如说 >>> df ID city timeDiff 0 1 A 2 1 2 A 3 2 3 A 4 3 4 B 6 3 5 B 6 我想得到的是特定城市的平均时间差 像 答:(2+3+4)/3=3

我无法根据不同列的值获得熊猫中某列的平均值。比如说

>>> df
         ID     city     timeDiff
0        1       A       2
1        2       A       3
2        3       A       4     
3        4       B       6
3        5       B       6
我想得到的是特定城市的平均时间差 像

答:(2+3+4)/3=3

B:(6+6)/2=6

我知道我可以通过df[columnName].mean()获得特定于列的平均值,但我不确定如何首先对城市名称进行分组,然后找到平均值?

使用:

您可以尝试:

import pandas as pd
d = {'ID': [1,2,3,4,5], 'city': ['A','A','A','B','B'],'timeDiff':[2,3,4,6,6]}
df = pd.DataFrame(data=d)
mean_df = df.groupby(['city'])['timeDiff'].mean()

您在文档中链接到的
mean()
与您在回答中实际使用的
mean()
不同。文档中的参数在此不起作用。例如,您不能传入
skipna
是的,您是对的。
import pandas as pd
d = {'ID': [1,2,3,4,5], 'city': ['A','A','A','B','B'],'timeDiff':[2,3,4,6,6]}
df = pd.DataFrame(data=d)
mean_df = df.groupby(['city'])['timeDiff'].mean()