问题描述
pandas数据框架
df = pd.DataFrame({'Group': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A'], 'Subgroup': ['Group 1', 'Group 1', 'Group 1', 'Group 1', 'Group 1', 'Group 1', 'Group 2', 'Group 2', 'Group 2'], 'Keyword': ['kw 1', 'kw 1', 'kw 1', 'kw 2', '+kw +2', 'kw 2', 'kw 3', 'kw 3', 'kw 3'], 'Normalized': ['kw 1', 'kw 1', 'kw 1', 'kw 2', 'kw 2', 'kw 2', 'kw 3', 'kw 3', 'kw 3'], 'Criterion Type': ['Exact', 'Phrase', 'Broad', 'Phrase', 'Broadified', 'Exact', 'Broad', 'Exact', 'Phrase'], 'Max CPC': [1.62, 1.73, 0.87, 1.70, 0.85, 1.60, 0.99, 1.58, 1.68], 'CPC Rank': [2, 1, 3, 1, 3, 2, 3, 2, 1], 'Type Rank': [1, 2, 3, 2, 3, 1, 3, 1, 2]})
为了将列放在正确的位置,请使用以下方法:
df = df[['Group', 'Subgroup', 'Keyword', 'Normalized', 'Criterion Type', 'Max CPC', 'CPC Rank', 'Type Rank']]
目标
对['Group', 'Subgroup', 'Normalized']
进行groupby
,然后对Max CPC
进行rank
。接下来,我想要将与CPC Rank
相关联的Max CPC
映射到基于Criterion Type
和我的自定义排名确定的Type Rank
:
{'Exact':1, 'Phrase':2, 'Broadified':3, 'Broad':4}
结果是New CPC
列及其适当的Max CPC
。
Max CPC
等于new CPC
,这不应该发生,因为我正在尝试根据它们的CPC Rank
和关键字的Criterion Type
重新分配Max CPC
。 - Jarad