假设一个带有X分区的dask数据框。假设熊猫数据框具有相同的X行数。熊猫数据框的每一行都包含与dask数据框的每个分区相关的数据。
我想将每个 pandas df行分配给新的黄昏数据框分区列
import pandas as pd
import dask
imoprt numpy as np
# default dask dataframe with 30 partitions
ddf = dask.datasets.timeseries()
df0 = pd.DataFrame({'A': np.random.randint(0,100, size=30),
'B': np.random.randint(0,100, size=30)})
执行此操作的效率很低的方法是:
df_list = []
for n in range(ddf.npartitions):
df_list.append(ddf.partitions[n])
for i,df in enumerate(df_list):
df['A'] = df0['A'].iloc[i]
我如何才能达到相同的结果,但仍处于呆滞状态?也许可以使用map_partitions?
如果不可能,如何更有效地避免循环?
答案 0 :(得分:0)
您的for循环仅取决于分区的数量,分区的数量通常很小(小于10000),因此效率在这里不太可能成为问题。