python - 如何从同一数据框中的字典键创建具有键名的列?
问题描述
我有一个数据框,例如:
| | a | b |
|---|---|------------------|
| 0 | a | {'d': 1, 'e': 2} |
| 1 | b | {'d': 3, 'e': 4} |
| 2 | c | NaN |
| 3 | d | {'f': 5} |
我正在使用df.join(pd.DataFrame.from_records(df['b'].mask(df.b.isna(), {}).tolist()))
如何从同一数据框中的字典键创建列中的以下代码?并得到如下结果:
| | a | b | d | e | f |
|---|---|------------------|---|---|---|
| 0 | a | {'d': 1, 'e': 2} | 1 | 2 |nan|
| 1 | b | {'d': 3, 'e': 4} | 3 | 4 |nan|
| 2 | c | NaN |nan|nan|nan|
| 3 | d | {'f': 5} |nan|nan| 5 |
怎么能做出这样的事情:
| | a | b | b_d | b_e | b_f |
|---|---|------------------|--- |--- |--- |
| 0 | a | {'d': 1, 'e': 2} | 1 | 2 | nan |
| 1 | b | {'d': 3, 'e': 4} | 3 | 4 | nan |
| 2 | c | NaN | nan | nan | nan |
| 3 | d | {'f': 5} | nan | nan | 5 |
解决方案
df.join(pd.DataFrame.from_records(df['b'].mask(df.b.isna(), {}).tolist()).add_prefix('b_'))
推荐阅读
- google-bigquery - 是否可以每天刷新客户级别的数据集以使用 BigqueryML 进行客户流失预测
- c# - Xaml 视图通知 PropertyChanged
- python - 在混合分类和数值数据的 k 原型聚类算法中运行轮廓分数计算缓慢
- python - Faiss:如何创建大小为 1024 的 10M 向量的索引
- c# - 检查二维整数数组的公共元素,考虑它们所在的位置
- javascript - React 库和 npm 模块是否与实际的 js 代码一起驻留在客户端(浏览器端)?
- asp.net - 使用共享库时如何容器化 .Net 项目
- three.js - Three.js 中用于 HDR 照明的场景范围 envmap
- google-cloud-platform - Azure DevOps 将文件复制到 Google 云失败
- javascript - 如何通过在 Google 数据存储中传递 ID 数组作为输入来检索实体?