簡體   English   中英

在 Pandas 中,如何根據 groupby 標准獲取多個子集數據幀?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM