1
我的數據看起來像這樣(大約10,000,000行的熊貓數據幀)組:熊貓通過在細胞(值)陣列的ID和計算平均
ID | Value
其中ID是唯一ID每個用戶和與其相關聯具有一個值爲300的數組。相同的ID可以使用不同的值(數組)發生多次。我想,爲每個唯一的ID,採取所有關聯數組的意思,所以我最終得到一個數據框(或字典),其中一個ID只出現一次,並具有一個300維數組作爲值(以前所有數組的平均值與該ID相關聯)。
目前,我遍歷所有的數據幀過濾通過ID:
ifa_vec = dict()
for uid in df_id_vec['id'].unique():
ifa_vec[uid] = aggregate_fun(np.matrix(
df_id_vec[df_id_vec['id']==uid]['vector'].tolist()))
然而,自然循環很慢,這會帶我天。有沒有更有效的方法來做到這一點?我知道groupby,但沒有設法使用它的數組。
你不應該存儲陣列在數據幀的元素。數據框最適合「整潔」數據http://vita.had.co.nz/papers/tidy-data.html。對於這種情況,我只是把你的數組放在一個字典中。 –
的確,但有時您無法選擇您的數據的格式。 – simonst
當然。我說在這種情況下數組字典可能比數據幀更好。 –