Python 从重复的值中提取数据帧

Python 从重复的值中提取数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,其中有一列存储了与不同数据相关的更多副本 A. B 1. 120 abc 2. 121 def 3. 122 ghi 4. 121 abc 5. 120 def 6. 121 def 7. 122 abc 8. 121 ghi .. ... ... 尝试: 输出: [ A B 1 120 abc 5 120 def, A B 2 121 def 4 121 abc 6 121 def 8 121 ghi,

我有一个数据框,其中有一列存储了与不同数据相关的更多副本

A. B 1. 120 abc 2. 121 def 3. 122 ghi 4. 121 abc 5. 120 def 6. 121 def 7. 122 abc 8. 121 ghi .. ... ... 尝试:

输出:

[     A    B
 1  120  abc
 5  120  def,
      A    B
 2  121  def
 4  121  abc
 6  121  def
 8  121  ghi,
      A    B
 3  122  ghi
 7  122  abc]
如果您还想重置每个数据帧的索引,请使用以下代码

df_list = [k.reset_index(drop=True) for _,k in df.groupby('A')]
如果您需要组名,可以使用
dict comprehension

df_dict = {g:k.reset_index(drop=True) for g,k in df.groupby('A')}
Dict输出:

{120:      A    B
0  120  abc
1  120  def,
 121:      A    B
0  121  def
1  121  abc
2  121  def
3  121  ghi,
 122:      A    B
0  122  ghi
1  122  abc}

只需根据唯一键
{k:v代表k,v在df.groupby('a')}
{120:      A    B
0  120  abc
1  120  def,
 121:      A    B
0  121  def
1  121  abc
2  121  def
3  121  ghi,
 122:      A    B
0  122  ghi
1  122  abc}