我有一个包含州名称和一些数字数据的数据集
:
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}}
<小时/>
保持mean
和std
选项 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
df.groupby('state')['numeric data'].describe().unstack()[['mean', 'std']].to_dict('index')
{'ALASKA': {'mean': 342.0, 'std': nan},
'CALIFORNIA': {'mean': 234.0, 'std': nan},
'TEXAS': {'mean': 756.0, 'std': nan}}
关于python - 如何从 pandas Mean() 和 std() 创建嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42840398/