[英]In Pandas, how to get multiple subset data frame based on groupby criteria?
例如; 我有一個這樣的數據框
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.