python - 如何从 pandas Mean() 和 std() 创建嵌套字典

标签 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':{'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}}
<小时/>

保持meanstd

选项 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/

相关文章:

python - 导入错误 : cannot import name timezone pythonanywhere

python - 如何提取给定交易所每只股票的股票数据

python - 如何在图像顶部创建动画情节 - Python

python - DataFrame.drop 不会删除 Pandas 中的预期行

python - 为什么我把设置变量的顺序调换成common,结果会不一样?

python - 如何将 Pandas 数据框转换为 XML?

python - HTMLParser.HTMLParser().unescape() 不起作用

Python Pandas .loc 一次更新 2 列

python - 在 SQLAlchemy 中使用字典/数据帧值执行更新

c# - 从 C# 构建 Python 脚本和调用方法