1
从CSV以下萃取读入大熊猫作为pd
:熊猫系列从数据帧列时索引列包含重复
return pd.Series((wb['impressions'].values * 1.0)/(wb['ad_requests'].values * 1.0), index=wb['\xef\xbb\xbf"ad_tag_name"']).to_dict()
不再有效,因为现在,如下面的图像,
- 有多个在列A中的相同名称的条目he.com_300x2(3 的he.com_300x250_bottomloopmobile,4 50_bottomloopmobile为例)
- C列将始终为空,对于除第一项以外每个 的唯一值。
我需要每列A的“钥匙”现在总和这些多个值,以及C柱也这样做,然后插入这些回除法计算和系列创作。
与groupby()
试验把隔离前者表现好(重复键被删除,这就是我想要的):
In [36]: wb.groupby('\xef\xbb\xbf"ad_tag_name"').sum()['impressions']
Out[36]:
"ad_tag_name"
he.com_300x250_bottomloopmobile 26752
he.com_300x250_bottomslidemobile 31217
然而,当我加入早在index=wb['\xef\xbb\xbf"ad_tag_name"']
尝试重建完整配方,熊猫不再下降的重复:
In [37]: pd.Series(wb.groupby('\xef\xbb\xbf"ad_tag_name"').sum()['impressions'], index=wb['\xef\xbb\xbf"ad_tag_name"'])
Out[37]:
"ad_tag_name"
he.com_300x250_bottomloopmobile 26752
he.com_300x250_bottomloopmobile 26752
he.com_300x250_bottomloopmobile 26752
he.com_300x250_bottomslidemobile 31217
he.com_300x250_bottomslidemobile 31217
he.com_300x250_bottomslidemobile 31217
he.com_300x250_bottomslidemobile 31217
假设公式可以原封不动的groupby()
组成部分,我们如何告诉一连串的创作认识到索引列的重复键?
谢谢,但你在最后的'df'中有重复的值。 *展示次数*要加总,**每个唯一的广告代码**。列* ad_tag_name *中的每个相同的值都指向同一个实体。所以最后的df(在你的例子中)应该只有3行,每个a,b,c。 – Pyderman
请检查编辑答案。 – jezrael
有趣的方法,在应用计算之前聚合并求和_all_列。优雅。谢谢。 – Pyderman