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

如何查找pandas Series中的最长列表并展示长度前10的对应列表?

解决方案

出现AttributeError: 'Series' object has no attribute 'applymap'报错的原因是:applymap是仅适用于DataFrame的逐元素处理方法,对单列的Series做逐元素处理需要改用apply方法。

你可以按以下步骤实现需求:

  • 第一步:计算每个列表的长度,新增为单独列方便后续排序筛选
df['list_length'] = df['listoflists'].apply(len)
  • 第二步:获取最长列表的信息
# 筛选出长度等于最大值的行,如有多个长度相同的最长列表会全部被保留
max_length_rows = df[df['list_length'] == df['list_length'].max()]
# 打印最长列表的长度和内容
for _, row in max_length_rows.iterrows():
    print(f"最长列表长度:{row['list_length']},对应内容:{row['listoflists']}")
  • 第三步:获取长度排名前10的列表长度和对应内容
# 按长度降序排序,取前10行的长度和列表内容字段
top10_lists = df.sort_values('list_length', ascending=False).head(10)[['list_length', 'listoflists']]
# 直接打印结构化的结果
print(top10_lists)

如果不想修改原DataFrame的结构,也可以直接对Series做处理:

# 构造(列表长度, 列表内容)的元组,按长度降序排序后取前10
sorted_items = df['listoflists'].apply(lambda x: (len(x), x)).sort_values(ascending=False).head(10)
# 逐个输出排名信息
for rank, (length, content) in enumerate(sorted_items, start=1):
    print(f"排名{rank}:长度{length},内容{content}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:15:06