擅长:python、mysql、java
<p>我可以用下面的代码来解决这个问题</p>
<pre><code> df1=df[['PERIOD_ID','STORE_ID','MKT']]
df1=df1.sort_values(['PERIOD_ID','STORE_ID'],ascending=True)
duplicatedf = df1.groupby(['PERIOD_ID','MKT'])['STORE_ID'].agg(lambda STORE_ID: ','.join(STORE_ID.astype(str).replace(' ','').unique())).reset_index()
duplicates =duplicatedf[ duplicatedf.duplicated(['PERIOD_ID','STORE_ID'],keep='first') | duplicatedf.duplicated(['PERIOD_ID','STORE_ID'],keep='last')]
duplicates= duplicates.groupby(['PERIOD_ID','STORE_ID']).agg(lambda MKT: ','.join(MKT.astype(str))).reset_index()
print (duplicates)
#Converting the df into dict
dupdictdf=duplicates[['PERIOD_ID','MKT']]
dicta=dupdictdf.to_dict("records")
print (dicta)
</code></pre>