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]