SQL 式在 Dask 系列或 DataFrame 列上展开
SQL-style explode on Dask Series or DataFrame column
我有一个 Dask 系列,其中包含一个带有值列表的列。我想执行 SQL 式的分解来为每个索引值和对应的列表元素创建一个新行。对于这个特定问题,所有列表的长度都相同。
单行示例:
索引 列
123 [值 1、值 2、值 3]
所需的转换:
索引 列
123 值 1
123 值 2
123 值 3
任何关于如何实现这一点的建议都将不胜感激。
在 pandas 数据框上,这看起来像
df.column.apply(pd.Series, 1).stack().reset_index(level=1, drop=True)
要对 Dask 数据帧执行此操作,您需要使用 map_partitions,对数据的每个分区执行完全相同的操作:
def func(df):
return df.column.apply(pd.Series, 1).stack().reset_index(level=1, drop=True)
df.map_partitions(func)
我有一个 Dask 系列,其中包含一个带有值列表的列。我想执行 SQL 式的分解来为每个索引值和对应的列表元素创建一个新行。对于这个特定问题,所有列表的长度都相同。
单行示例:
索引 列
123 [值 1、值 2、值 3]
所需的转换:
索引 列
123 值 1
123 值 2
123 值 3
任何关于如何实现这一点的建议都将不胜感激。
在 pandas 数据框上,这看起来像
df.column.apply(pd.Series, 1).stack().reset_index(level=1, drop=True)
要对 Dask 数据帧执行此操作,您需要使用 map_partitions,对数据的每个分区执行完全相同的操作:
def func(df):
return df.column.apply(pd.Series, 1).stack().reset_index(level=1, drop=True)
df.map_partitions(func)