[英]Apply values to Dask dataframe mapping with function
在下面的 Dask 代碼中,我試圖根據 function、 apply_masks
中的邏輯設置 dataframe 字段的值:
import numpy as np
import pandas as pd
import dask.dataframe as daskDataFrame
def apply_masks(df):
if df['Age'] > 14:
df['outcol'] = 6
else:
df['outcol'] = 5
return df
data = [[1,100, 12, 6], [1,200, 18, 5], [1,170, 22, 4]]
df = pd.DataFrame(data, columns = ['outcol', 'Weight', 'Age', 'Height'])
ddf = daskDataFrame.from_pandas(df, npartitions=100)
ddf = ddf.map_partitions(apply_masks)
print(ddf.compute())
問題是得到一個例外:
ValueError:元數據推斷在
apply_masks
中失敗。您提供了自定義 function 並且 Dask 無法確定 function 返回的 output 的類型。
要解決此問題,請提供 meta= 關鍵字。 您運行的 Dask function 的文檔字符串應該有更多信息。
原始錯誤如下: ------------ ValueError('一個Series的真值不明確。使用a.empty, a.bool( )、a.item()、a.any() 或 a.all()。')
如何解決這個問題?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.