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()