首页 > 解决方案 > 将数据框拆分为子数据框并根据相关数据框填充内容?

问题描述

我有以下玩具数据框:

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 属性,id2 具有 A、D、E、F 和 Z 属性。如何创建仅包含此类子数据帧A、B、C、D 和 E 属性、A、D、E、F 和 Z 属性等等 - 类似属性相同的框,我将在其中存储具有适当属性的请求 ID

我想要做的是按 id 拆分整个数据框,然后提取每个数据框的属性。有没有更简单的方法可以做到这一点?

标签: pythonpython-3.xpandasdataframe

解决方案


您可以创建分组.groupby()对象的字典,如下所示:xid

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


推荐阅读