You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Julia中实现DataFrame的explode(展开)操作

在Julia中实现类似Pandas explode的数组展开并转换为DataFrame

首先确保你已经安装了DataFrames包(未安装的话,先运行using Pkg; Pkg.add("DataFrames"))。

步骤1:导入包并定义原始数组

using DataFrames

# 你的原始嵌套数组
original_array = Any[Any[["link_1", "link_2", "link_3"], "82", ["A B", "C D", "E F", "G H", "I J"]]]

步骤2:提取数据并构造初始DataFrame

先把嵌套数组里的三个元素分别提取出来,再创建包含待展开列的初始DataFrame:

# 提取数组内的三个核心部分
links = original_array[1][1]
value = original_array[1][2]
arr = original_array[1][3]

# 构造初始DataFrame,此时link列是一个数组类型
df_initial = DataFrame(
    link = [links],
    value = [value],
    array = [arr]
)

步骤3:使用flatten函数展开link列

Julia的DataFrames.flatten函数对应Pandas的explode功能,它会将数组类型的列拆分为多行,其他列的数值会自动重复匹配:

df_final = flatten(df_initial, :link)

执行后得到的df_final就是目标结构:每一行对应一个展开后的link值,value列始终为"82",array列保持原数组不变(如果需要展开array列,只需把flatten的第二个参数换成:array即可)。

最终结果示例

df_final的内容如下:

rowlinkvaluearray
1link_182["A B", "C D", "E F", "G H", "I J"]
2link_282["A B", "C D", "E F", "G H", "I J"]
3link_382["A B", "C D", "E F", "G H", "I J"]

内容的提问来源于stack exchange,提问作者Anwesh saha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 09:33:10