1
我正在嘗試使用Dask來處理大文件(50 GB)。通常,我會將它加載到內存中並使用Pandas。我想分兩列「A」和「B」,每當列「C」以一個值開始時,我想在該列中爲該特定組重複該值。Dask中的基本groupby操作
在熊貓,我會做到以下幾點:
df['C'] = df.groupby(['A','B'])['C'].fillna(method = 'ffill')
什麼將是DASK等價? 另外,我有點失去了作爲爲大熊貓而不是如何構建在DASK問題,
謝謝你,
我迄今取得的進展:
第一組指標:
df1 = df.set_index(['A','B'])
然後GROUPBY:
df1.groupby(['A','B']).apply(lambda x: x.fillna(method='ffill').compute()
謝謝Nirlzr。我想填充NAN主題的每個組中的值,這通常在組之間有所不同。儘管他們處於不同的羣體中,您的解決方案是否爲所有的NAN提供了相同的價值? – dleal
是的,不幸的是你是正確的。如果這是你的目標 - 將會類似於'df ['C'] = df ['C']。fillna(c_fill)'工作嗎? – NirIzr
請注意,在我的小例子中:http://stackoverflow.com/questions/39048181/groupby-of-splitted-data-pandas如果我讀取A作爲dask數據幀,以下命令工作:A.groupby('ID' )['value']。apply(lambda x:x.fillna(method ='ffill'))然而,在我感興趣的大數據集中,我得到以下錯誤:ValueError:無法將字符串轉換爲float:T – dleal