Irs*_*Ali 4 python numpy dask numpy-ndarray
我有一个 numpy 数组,我想将其添加为现有 dask 数据框中的列。
enc = LabelEncoder()
nparr = enc.fit_transform(X[['url']])
Run Code Online (Sandbox Code Playgroud)
我有 dask 数据帧类型的 ddf。
ddf['nurl'] = nparr ???
Run Code Online (Sandbox Code Playgroud)
请问有什么优雅的方法可以实现上述目标吗?
Python PANDAS:从 pandas/numpy 转换为 dask 数据帧/数组这并不能解决我的问题,因为我希望将 numpy 数组转换为现有的 dask 数据帧。
您可以将 numpy 数组转换为 dask Series 对象,然后将其合并到数据帧。您将需要使用.to_frame()Series 对象的方法,因为它仅支持将数据帧与其他数据帧合并。
import dask.dataframe as dd
import numpy as np
import pandas as pd
df = pd.DataFrame({'x': range(30), 'y': range(0,300, 10)})
arr = np.random.randint(0, 100, size=30)
# create dask frame and series
ddf = ddf = dd.from_pandas(df, npartitions=5)
darr = dd.from_array(arr)
# give it a name to use as a column head
darr.name = 'z'
ddf2 = ddf.merge(darr.to_frame())
ddf2
# returns:
Dask DataFrame Structure:
x y z
npartitions=5
0 int64 int64 int32
6 ... ... ...
... ... ... ...
24 ... ... ...
29 ... ... ...
Dask Name: join-indexed, 33 tasks
Run Code Online (Sandbox Code Playgroud)