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

如何在Julia DataFrame中获取指定列存储的最长列表?

问题解决方法

错误原因

你原有代码未指定排序依据,partialsortperm默认对col2的列表做字典序比较:Julia的向量逐元素比较规则下,['a','c']的第二个元素'c'大于['a','b','c']的第二个元素'b',所以倒序排序时['a','c']排在最前,得到不符合预期的结果。

正确实现

方法1:指定排序依据取单条最长行

给partialsortperm增加by=length参数,指定按列表长度排序即可得到预期结果:

dataframe[partialsortperm(dataframe.col2, 1, by=length, rev=true), :]

方法2:筛选所有最长行(适配多并列最长场景)

如果存在多个长度相同的最长列表,要全部取出的话用筛选逻辑更直观:

# 计算col2列的最大列表长度
max_len = maximum(length, dataframe.col2)
# 筛选所有符合长度要求的行
result = filter(row -> length(row.col2) == max_len, dataframe)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:24:07