Pandas 如何删除具有逗号分隔值的重复数据帧和dcast数据帧

Pandas 如何删除具有逗号分隔值的重复数据帧和dcast数据帧,pandas,Pandas,我在熊猫中有以下数据帧 tank nozzle 1 1 1 1 1 2 1 3 1 1 2 2 2 1 2 1 2 2 2 2 2 1 2 3 2 2 我想要以下输出 tank nozzle 1

我在熊猫中有以下数据帧

  tank      nozzle
  1         1
  1         1
  1         2
  1         3
  1         1
  2         2
  2         1
  2         1
  2         2
  2         2
  2         1
  2         3
  2         2
我想要以下输出

  tank      nozzle
  1         1,2,3
  2         1,2,3  
喷嘴应为唯一的编号。
如何在pandas中执行此操作?

将列
喷嘴
转换为字符串,并与
连接一起使用

df['nozzle'] = df['nozzle'].astype(str)
df1 = df.drop_duplicates().groupby('tank')['nozzle'].apply(','.join).reset_index()
print (df1)
   tank nozzle
0     1  1,2,3
1     2  2,1,3
具有lambda函数的替代解决方案:

df1 = (df.drop_duplicates()
       .groupby('tank')['nozzle']
       .apply(lambda x: ','.join(x.astype(str)))
       .reset_index())
有关列表:

df1 = df.drop_duplicates().groupby('tank')['nozzle'].apply(list).reset_index()
print (df)
   tank     nozzle
0     1  [1, 2, 3]
1     2  [2, 1, 3]