1
在大熊貓可以使用apply
或map
方法的方式,代替了返回數據幀的更新視圖或一系列的更新與傳遞給函數在numpy的陣列。例如:Dask;使用適用於更新可變
In[1]: df = pd.DataFrame({'x': [1,2,3,4,5]})
In[2]: count = np.array([0])
In[3]: def increment(row, count):
count[0] += row
In[4]: df.x.map(lambda row: increment(row, count))
Out[4]:
x
0 None
1 None
2 None
3 None
4 None
Name: x, dtype: object
In[5]: count
Out[5]: array([15])
我希望能夠複製這種行爲usins Dask,但到目前爲止,我只能碰運氣一直與map_partitions
方法和一點的一種解決方法。這是數據所在的內存空間的問題,因爲我的示例只使用了一個,而Dask將使用多個內存空間進行並行處理?或者是否有辦法強制熊貓或Dask方法返回一些形狀不像輸入DataFrame/Series的東西?
什麼是您的實際目標是什麼?你問是否有可能讓沙塵暴任務突變爲全局狀態?你想完成自定義聚合嗎? – MRocklin
@MRocklin絕對是一個自定義聚合。如有必要,我可以添加一個簡單的例子,但認爲這可能是一個更好的入門問題。基本上我有一個非常大的csv。該csv有一個包含不同長度數組的列。我需要讀取每個數組併爲每個元素查找另一個數組。然後使用這個最終數組來更新其中包含大約2000個元素的計數數組。就像我說過的,我可以使用map_partitions工作,但是真的想知道我們是否可以申請工作,以備將來參考。 – Grr