Python 如何从mean()和std()创建嵌套字典

Python 如何从mean()和std()创建嵌套字典,python,pandas,Python,Pandas,我有一个带有州名称和一些数字数据的数据集: d = {'state' : pd.Series(['ALASKA','CALIFORNIA','TEXAS'], index=[0,1,2]), 'numericdata' : pd.Series([342, 234,756], index=[0,1,2])} pd.DataFrame(d) 我想遍历每个状态,计算mean(),和std(),并将其添加到dict中,以便以后检索 我希望我的dict看起来像这样:d={'ALASKA':{'

我有一个带有州名称和一些数字数据的
数据集

d = {'state' : pd.Series(['ALASKA','CALIFORNIA','TEXAS'], index=[0,1,2]),
     'numericdata' : pd.Series([342, 234,756], index=[0,1,2])}
pd.DataFrame(d)
我想遍历每个状态,计算
mean()
,和
std()
,并将其添加到
dict
中,以便以后检索

我希望我的
dict
看起来像这样:
d={'ALASKA':{'mean':1,'std':6}

我的问题是,我从未在python中使用过字典,我也不知道如何在字典中创建字典。我愿意接受任何建议


提前谢谢

我可以通过
描述

df.groupby('state')['numeric data'].describe().unstack().to_dict('index')

{'ALASKA': {'25%': 342.0,
  '50%': 342.0,
  '75%': 342.0,
  'count': 1.0,
  'max': 342.0,
  'mean': 342.0,
  'min': 342.0,
  'std': nan},
 'CALIFORNIA': {'25%': 234.0,
  '50%': 234.0,
  '75%': 234.0,
  'count': 1.0,
  'max': 234.0,
  'mean': 234.0,
  'min': 234.0,
  'std': nan},
 'TEXAS': {'25%': 756.0,
  '50%': 756.0,
  '75%': 756.0,
  'count': 1.0,
  'max': 756.0,
  'mean': 756.0,
  'min': 756.0,
  'std': nan}}

将其设置为仅
平均值
标准值

选项1

df.groupby('state')['numeric data'].agg(['mean', 'std']).to_dict('index')

{'ALASKA': {'mean': 342.0, 'std': nan},
 'CALIFORNIA': {'mean': 234.0, 'std': nan},
 'TEXAS': {'mean': 756.0, 'std': nan}}
选项2


我可以用
description

df.groupby('state')['numeric data'].describe().unstack().to_dict('index')

{'ALASKA': {'25%': 342.0,
  '50%': 342.0,
  '75%': 342.0,
  'count': 1.0,
  'max': 342.0,
  'mean': 342.0,
  'min': 342.0,
  'std': nan},
 'CALIFORNIA': {'25%': 234.0,
  '50%': 234.0,
  '75%': 234.0,
  'count': 1.0,
  'max': 234.0,
  'mean': 234.0,
  'min': 234.0,
  'std': nan},
 'TEXAS': {'25%': 756.0,
  '50%': 756.0,
  '75%': 756.0,
  'count': 1.0,
  'max': 756.0,
  'mean': 756.0,
  'min': 756.0,
  'std': nan}}

将其设置为仅
平均值
标准值

选项1

df.groupby('state')['numeric data'].agg(['mean', 'std']).to_dict('index')

{'ALASKA': {'mean': 342.0, 'std': nan},
 'CALIFORNIA': {'mean': 234.0, 'std': nan},
 'TEXAS': {'mean': 756.0, 'std': nan}}
选项2


这是一个比我想要的更好的答案!非常感谢你!时间一到,我就接受这个答案。如果
numericdata
实际上是
numericdata
,那该怎么办?这是一个比我想要的更好的答案!非常感谢你!时间一到,我就接受这个答案。如果
numericdata
实际上是
numericdata