python-3.x - 从 pandas 数据框创建字典
问题描述
我有一个这种格式的excel文件。
site | matrix | sampling type | sampling frequency | measurands
S1 | water | spot check | 28 days | nitrate
S1 | water | spot check | 28 days | pH
S1 | water | spot check | 28 days | conductivity
S1 | mud | spot check | 56 days | phosphate
S1 | water | mixed sample | 14 days | nitrate
S1 | water | mixed sample | 14 days | pH
...
我的目标是从具有以下形式的 pandas 数据框创建一个 python 字典(以及后来的 yaml 文件)。
site: S1
matrices:
- water
sampling types:
- spot check
sampling frequency: 28
measurands: [nitrate, pH, conductivity]
- mixed sample
sampling frequency: 14
measurands: [nitrate, pH]
- mud
sampling types:
- spot check
sampling frequency: 56
measurands: [phosphate]
我希望我的 yaml 是正确的。基本思想是您可以根据以下条件在站点上绘制多个样本:
- 从哪个矩阵中抽取样本。
- 以何种方式抽取样本(只需将水桶放在小溪中或在我们的一些过程中取出水)。
- 您多久访问一次特定矩阵和采样类型的站点。
在实验室中,正在分析被测量的列表。
可以看出,上表没有明确的“主键”。站点、矩阵、采样类型和采样频率的组合应该是唯一的,只有被测变量不同。
所以我想我不能真正使用pandas.to_dict()
当有这样一个键时真正起作用的方便功能。
使用 python 并将所描述的 excel 表作为唯一的限制,任何想法都将不胜感激。(我无法对允许使用的工具和输入格式做任何事情。)
提前致谢
布尼
解决方案
推荐阅读
- python - 如何在字典中获取匹配子字符串键并在 Python 上返回相应的值?
- github - 如何从没有行号的github复制代码?
- node.js - 如何将 MongoDB 查询从 Node.js 驱动程序格式调整为 Mongoose 格式
- spring - 每个线程环境的上下文中单例范围的 Spring Bean 的线程安全
- insert - couchbase upsert/insert 以 ttl 静默失败
- database - 在不同服务器上安装 Pimcore 数据库
- android - 使用 itemtouchhelper 在另一个回收器视图的项目中使用回收器视图
- ceph - 执行命令失败:env DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get --assume-yes -q update
- python - sublime 3 中的自定义语法
- java - 无需重新编译和重建应用程序即可更改 Hibernate xml 映射文件