使用 Python 计算值组的标准偏差
Calculate standard deviation for groups of values using Python
我的数据与此类似:
index name number difference
0 AAA 10 0
1 AAA 20 10
2 BBB 1 0
3 BBB 2 1
4 CCC 5 0
5 CCC 10 5
6 CCC 10.5 0.5
我需要根据名称组计算差异列的标准偏差。
我试过了
data[['difference']].groupby(['name']).agg(['mean', 'std'])
和
data["std"]=(data['difference'].groupby('name').std())
但两者都为传递给 groupby()
的变量提供了 KeyError。我试图通过以下方式解决它:
data.columns = data.columns.str.strip()
但错误仍然存在。
提前致谢。
您可以先在完整数据框上使用 groupby(['name'])
,然后只在感兴趣的列上应用 agg:
data = pd.DataFrame({'name':['AAA','AAA','BBB','BBB','CCC','CCC','CCC'],
'number':[10,20,1,2,5,10,10.5],
'difference':[0,10,0,1,0,5,0.5]})
data.groupby(['name'])['difference'].agg(['mean', 'std'])
我的数据与此类似:
index name number difference
0 AAA 10 0
1 AAA 20 10
2 BBB 1 0
3 BBB 2 1
4 CCC 5 0
5 CCC 10 5
6 CCC 10.5 0.5
我需要根据名称组计算差异列的标准偏差。
我试过了
data[['difference']].groupby(['name']).agg(['mean', 'std'])
和
data["std"]=(data['difference'].groupby('name').std())
但两者都为传递给 groupby()
的变量提供了 KeyError。我试图通过以下方式解决它:
data.columns = data.columns.str.strip()
但错误仍然存在。
提前致谢。
您可以先在完整数据框上使用 groupby(['name'])
,然后只在感兴趣的列上应用 agg:
data = pd.DataFrame({'name':['AAA','AAA','BBB','BBB','CCC','CCC','CCC'],
'number':[10,20,1,2,5,10,10.5],
'difference':[0,10,0,1,0,5,0.5]})
data.groupby(['name'])['difference'].agg(['mean', 'std'])