如何根据熊猫中的第三列按两列分组?

时间:2021-05-25 18:58:22

标签: pandas

df2= pd.read_csv(r'C:\Users\AliDesktop\Desktop\MANetwork\DailyDomainAM.csv')

#df2
#get rid of rows before matching string
#add col to total imipression and click?
#row = df2[df2['Report job ID'] == 'Domain'].index.tolist()[0]
df2 = df2.iloc[0+1:]
df2.columns=['Advertiser','Domain','Device Category','Total Impressions', 'Total Click', 'Total CTR']

# df2['Total Impressions'] = pd.to_numeric(df2['Total Impressions'], errors="coerce")
#strings in csvs must have commas removed and converted into correct data type
df2['Total Impressions']=df2['Total Impressions'].str.replace(',', '').astype(float)
df2['Total Impressions'] = df2['Total Impressions'].astype(float).astype(int)


#df2= df2.sort_values(by=['Total Impressions'], ascending=False)

#Get column headers
#df2_col = df2.columns.values.tolist()
#df2=df2.groupby(['Advertiser', 'Domain','Total Impressions']).sum()

df2['Advertiser', 'Domain']=df2.index
df2.sort_values('Total Impressions',ascending=False).groupby(['Advertiser', 'Domain','Total Impressions']).head(3)

df2=df2.sort_values('Total Impressions', ascending=False)

df2=df2.sort_values(['Advertiser', 'Domain','Total Impressions'], ascending=[True,True,True]).groupby(['Total Impressions']).head(25) 
#.head(25)
df2=df2.sort_values(['Total Impressions'])
# df2=df2.groupby(['Advertiser', 'Domain','Total Impressions']).nlargest(25,'Total Impressions')
df2=df2.sort_values('Total Impressions', ascending=False)


df2_top25=df2.groupby(df2['Advertiser','Domain'])

The following is how the current dataframe looks like if someone wants to visualize the code above

我想按域获得每个广告商的前 25 次点击/印象。我该怎么做?

我整理了数据框、过滤和聚合,但在执行上述操作时遇到问题

0 个答案:

没有答案
相关问题