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