Pandas 如何在大熊猫中按列对相似的类群进行分组

Pandas 如何在大熊猫中按列对相似的类群进行分组,pandas,Pandas,伙计们 我有这样的数据帧: ID | Name | Thing | belongs ---+------+---------+-------- 1 John 10 1 2 Tom 10 2 3 Tom 10 1 4 John 10 2 5 Bob 10 3 我不知道如何将其分组,如: Tom,John 10 1,2 Bob. 10 3

伙计们

我有这样的数据帧:

ID | Name | Thing | belongs
---+------+---------+--------
 1   John     10       1
 2   Tom      10       2
 3   Tom      10       1
 4   John     10       2
 5   Bob      10       3
我不知道如何将其分组,如:

Tom,John    10  1,2
Bob.        10   3
我可以按用户分组,但我会得到两个分组,而不是一个。

设置

df = pd.DataFrame({'ID': {0: 1, 1: 2, 2: 3, 3: 4, 4: 5},
 'Name': {0: 'John', 1: 'Tom', 2: 'Tom', 3: 'John', 4: 'Bob'},
 'Thing': {0: 10, 1: 10, 2: 10, 3: 10, 4: 10},
 'belongs': {0: 1, 1: 2, 2: 1, 3: 2, 4: 3}})
解决方案

#group by name, thing and then concat belongs
df = df.groupby(by=['Name','Thing'])['belongs']\
               .apply(lambda x: ','.join(sorted(x.astype(str).tolist())))\
               .to_frame().reset_index()

df.groupby(by=['Thing','belongs'])['Name']\
          .apply(lambda x: ','.join(x.tolist())).to_frame().reset_index()

Out[1140]: 
   Thing belongs      Name
0     10     1,2  John,Tom
1     10       3       Bob

有没有可能把他们按“东西”分组,这样我就有两组而不是三组了?