Python 3.x 在数据帧内合并重复标记
我有一个单独的数据帧,在清理和合并之后,它最终处于一种状态,我有多个具有相同索引值的行 我需要合并这些重复的行,并得到一个数据帧,其中每运行一次重复都有一行 在处理数据帧时,这感觉应该是一个标准操作,但我似乎不知道如何让熊猫做到这一点 我找到的最好答案是: 然而,在那里提出的解决方案以“groupby”对象而不是数据帧结束了我。因为我想在画面上做进一步的分组,所以我不知道如何继续 pandas中的方法中是否有标准函数用于压缩多行共享相同索引的数据帧,从而返回新的数据帧 例: 到 您可以通过Python 3.x 在数据帧内合并重复标记,python-3.x,pandas,merge,ipython,Python 3.x,Pandas,Merge,Ipython,我有一个单独的数据帧,在清理和合并之后,它最终处于一种状态,我有多个具有相同索引值的行 我需要合并这些重复的行,并得到一个数据帧,其中每运行一次重复都有一行 在处理数据帧时,这感觉应该是一个标准操作,但我似乎不知道如何让熊猫做到这一点 我找到的最好答案是: 然而,在那里提出的解决方案以“groupby”对象而不是数据帧结束了我。因为我想在画面上做进一步的分组,所以我不知道如何继续 pandas中的方法中是否有标准函数用于压缩多行共享相同索引的数据帧,从而返回新的数据帧 例: 到 您可以通过索引,
索引,然后:
最后一列的更好功能可能是join
-您的数据不会丢失(只取第一个值,其他数据会被删除):
如果仅使用求和
,则删除最后一列-:
visits revenue product-type
product1 200 50 stockings
product1 50 100 #n/a
product2 150 20 toy
... .. .. ..
visits revenue product-type
product1 250 150 stockings
product2 150 20 toy
... .. .. ..
print (df.groupby(level=0).agg({'visits':sum,'revenue':sum,'product-type':'first'}))
visits revenue product-type
product1 250 150 stockings
product2 150 20 toy
print (df.groupby(level=0).agg({'visits':sum,
'revenue':sum,
'product-type': lambda x: ''.join(x.fillna(''))}))
visits revenue product-type
product1 250 150 stockings
product2 150 20 toy
print (df.groupby(level=0).sum())
visits revenue
product1 250 150
product2 150 20