我有一個叫做buy_groups的字典,它存儲了一組SessionID,然後我想看到數據框的元素SesssionData在字典中出現了一個SessionID。如果它存在,則我設置購買爲1的數據幀這樣如何在這種情況下加快熊貓(查詢字典)?
SessionID Buy
1 0
2 0
3 0
例如,如果存在於字典buy_groups 3,然後我設置相關買入= 1。
我寫了一個量化的版本是這樣
SessionData.Buy[SessionData.SessionID.apply(lambda x: buy_groups.has_key(x))== True] = 1
大約需要5秒。
相反,迭代需要甚至更短的時間,如2秒,
for items in keys_value:
if buy_groups.has_key(items)== True:
SessionData.loc[SessionData['SessionID']==items,'Buy'] = 1
我如何可以加快這一操作,因爲兩個數據幀和字典是非常大的。
在此先感謝!
對不起,我仍然對你想要的東西感到困惑。你所要做的就是將所有SessionID中的'Buy'設置爲1,這些都是buy_groups中的鍵?或者對於(1)buy_groups中的鍵和(2)keys_value(不管那是什麼)中的所有SessionID? – DSM 2015-02-11 03:55:07
對不起,我想把'買'設置爲1,所有SessionIDs都是buy_groups中的鍵。 – 2015-02-11 15:55:46