例如;我有一个像这样的数据帧
ID v1 v2 v3
1 0 0 1
1 1 1 1
1 1 0 1
1 1 1 0
2 0 1 1
2 0 0 1
2 1 1 0
3 1 0 1
3 1 1 1
我感兴趣的是获得一个数据帧列表,这样每个数据帧都是基于groupby['ID']的原始子集
查找某项返回数据帧result
的列表
result[0]
ID v1 v2 v3
1 0 0 1
1 1 1 1
1 1 0 1
1 1 1 0
result[1]
ID v1 v2 v3
2 0 1 1
2 0 0 1
2 1 1 0
result[2]
ID v1 v2 v3
3 1 0 1
3 1 1 1
现在我要做的是通过ID
for id in df['ID']:
result.append(df[df['ID'] == id])
但是可能有很多ID
,这不是很有效(注意每个ID
可能有不同数量的数据点)。有什么想法吗?由于
查看
d = dict([*df.groupby('ID')])
d[1]
Out[160]:
ID v1 v2 v3
0 1 0 0 1
1 1 1 1 1
2 1 1 0 1
3 1 1 1 0