python - 将数据框拆分为子数据框并根据相关数据框填充内容?
问题描述
我有以下玩具数据框:
x value id
A 5 1
B DE 1
C False 1
D yes 1
E -0.9442 1
A 66 2
D yes 2
E -0.9442 2
F Kuku 2
Z 1 2
等等。对于每个 id,我们都有一些属性集。我想按每个属性“切片”它们id
(例如 id 1 具有 A、B、C、D 和 E 属性,id
2 具有 A、D、E、F 和 Z 属性。如何创建仅包含此类子数据帧A、B、C、D 和 E 属性、A、D、E、F 和 Z 属性等等 - 类似属性相同的框,我将在其中存储具有适当属性的请求 ID?
我想要做的是按 id 拆分整个数据框,然后提取每个数据框的属性。有没有更简单的方法可以做到这一点?
解决方案
您可以创建分组.groupby()
对象的字典,如下所示:x
id
x_df_dict = {a: b for a, b in df.groupby('id')['x']}
x
然后,您可以访问by的子数据帧(更准确地说是子系列)id
,如下所示:
print(x_df_dict[1])
0 A
1 B
2 C
3 D
4 E
Name: x, dtype: object
print(x_df_dict[2])
5 A
6 D
7 E
8 F
9 Z
Name: x, dtype: object
推荐阅读
- html - github页面不为index.html显示css,而是为其他人显示
- node.js - node http server stop 不会关闭连接
- python - 为什么通过argparse读取数据时我的json字符串数据丢失如$match,$group
- python - 从while循环中间循环的方式
- scala - 使用 Scala 从 List[Row] 中获取 Json Key 值
- java - 我应该如何实施 SSL?
- ruby-on-rails - 在更新记录栏时添加关联记录
- java - Springboot - 如何使用 manifest.yml 从本地类路径访问 cacerts 文件
- javascript - 提取对象数组中未知键的值
- java - 黄瓜自动测试无法通过詹金斯找到元素